2進数から10進数に変換する計算機を作るには?

解決


NN  2005-11-27 23:56:40  No: 128304

今、テキストボックスに2進数を入力し計算ボタンを押すと10進数になる計算機を作成しています。作成したプログラムは
Public Function 2進表示to10進変換(bin_d As String) As Integer
  int_d = 0
  bin_dt = Val(bin_d)
  For Cnt = 0 To 3
    bin_m = bin_dt Mod 10
    bin_dt = bin_dt \ 10
    int_d = int_d + 2 ^ Cnt * bin_m
  Next Cnt
  2進表示to10進変換 = int_d
End Function
このような感じなんですが思うように動きません。
後は何が必要なのか教えていただけないでしょうか?
よろしくお願いします。


ガッ  2005-11-28 00:14:55  No: 128305

"0"から"111"までの二進表記に関してはちゃんと動くと思いますよ。


Dental  2005-11-28 00:50:15  No: 128306

> 思うように動きません。
どのように動作すると思っていて、それが
どのように動作してしまっているのでしょう?

> Public Function 2進表示to10進変換(bin_d As String) As Integer
VBでは、数値から始まる名前は使えません。

それに、Integer型の戻り値であるのならば、
to10進変換 という命名は、すこし奇妙に聞こえます。

> For Cnt = 0 To 3
扱うのは、0〜3 の範囲だけでよいのですね?

> 後は何が必要なのか教えていただけないでしょうか?
変数宣言を行いましょう。Option Explicit を付けた上で。


ガッ  2005-11-28 02:33:05  No: 128307

ぁ…0〜3だった(orz


NN  2005-11-28 09:01:57  No: 128308

解決することが出来ました。
変数の宣言をしてたつもりがしてませんでした。Dentalさんに言われて気づきました。
みなさん本当にありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加