C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: 文字列の二進数を十六進数に変換したいのですが…、


(過去ログ 93 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■55607 / inTopicNo.1)  文字列の二進数を十六進数に変換したいのですが…、
  
□投稿者/ トロッ子 (1回)-(2010/12/07(Tue) 13:35:12)

分類:[VB.NET/VB2005 以降] 

2010/12/07(Tue) 13:36:09 編集(投稿者)
2010/12/07(Tue) 13:36:04 編集(投稿者)

こんにちは、初めまして。
 VBの勉強をしたくてVB2008 Express Editionを使い始めたのですが、
ネットで検索して2進数の変換を試したのですが、うまくできませんでした。

bbb = Convert.ToString(bbb, Hex) という文なのですが、

「この引数の数を受け付ける'Hex'がないため、オーバーロードに解決に失敗しました。」
というエラーがでます。
bbbという変数には1110111111という文字が入っています。

Dim bbb As Stringっていう宣言もしているのですが、何が悪いのかわかりません。
どこを直せばいいのか、教えていただけないでしょうか。
よろしくお願いします。
引用返信 編集キー/
■55609 / inTopicNo.2)  Re[1]: 文字列の二進数を十六進数に変換したいのですが…、
□投稿者/ shu (248回)-(2010/12/07(Tue) 14:03:45)
No55607 (トロッ子 さん) に返信


> bbb = Convert.ToString(bbb, Hex) という文なのですが、

Convert.ToString(Convert.ToInt32(bbb,2),16)

こんなかんじかな?
引用返信 編集キー/
■55619 / inTopicNo.3)  Re[2]: 文字列の二進数を十六進数に変換したいのですが…、
□投稿者/ トロッ子 (2回)-(2010/12/07(Tue) 16:58:46)
ありがとうございますっ!

 できました!
 ただ、どうしてできたのかが理解できません…。
 難しいですね。

 ヘルプとかネットの検索でもなかなか書き方が難しくて、理解するには時間がかかりそうです。
 ゆっくりがんばってみます!
引用返信 編集キー/
■55620 / inTopicNo.4)  Re[3]: 文字列の二進数を十六進数に変換したいのですが…、
□投稿者/ 魔界の仮面弁士 (1976回)-(2010/12/07(Tue) 17:58:55)
No55619 (トロッ子 さん) に返信
>  できました!
>  ただ、どうしてできたのかが理解できません…。

一気に
 Convert.ToString(Convert.ToInt32(bbb, 2), 16)
と記述するのではなく、これを

 Dim bbb = "1110111111"
 MsgBox(bbb)
 Dim x = Convert.ToInt32(bbb, 2) '2進数表記 → 数値
 MsgBox(x)
 Dim y = Convert.ToString(x, 16) '数値 → 16進数表記
 MsgBox(y)

のように分解してみると、どのように変換されたのかがわかるかも。
引用返信 編集キー/
■55625 / inTopicNo.5)  Re[4]: 文字列の二進数を十六進数に変換したいのですが…、
□投稿者/ ちゃっぴ (61回)-(2010/12/07(Tue) 21:10:23)
ちゃっぴ さんの Web サイト
本当に理解したいのであれば、まずは手作業で計算して、次に bit 演算する program を組んだ方がいいと思いますねぇ。
この手の基礎を勉強するには .NET Framework は便利すぐる。
引用返信 編集キー/
■55652 / inTopicNo.6)  Re[3]: 文字列の二進数を十六進数に変換したいのですが…、
□投稿者/ PATIO (71回)-(2010/12/08(Wed) 13:26:03)
2010/12/08(Wed) 13:30:01 編集(投稿者)

No55619 (トロッ子 さん) に返信
> ありがとうございますっ!
>
>  できました!
>  ただ、どうしてできたのかが理解できません…。
>  難しいですね。

魔界の仮面弁士さんも書かれていますが、
一行で書こうとしないで複数行に分けて書いてみるというのも
最初の段階では有効だと思います。
その上で一つ一つのメソッドが何をしているのかを突き詰めて見てください。
幾つかの行に分けて書いていた物を一行にまとめて記述するのは
内容をきちんと理解した後で良いように思います。

一つのメソッドで解決可能かと言うのを考える事も必要ですが、
一つのメソッドで解決できそうにない時に幾つかのメソッドを組み合わせて解決できないかと言う考え方も必要です。
その為には各メソッドの使い方をきちんと理解する必要があります。
今回の件では最初の段階でメソッドの使い方を間違っていました。
自分が書いたコードのどの部分がどのように間違っていたのかをもう一度良く調べて考えてみて下さい。
結局はそうした一つ一つの理解なしにプログラミングはできません。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -