今、テキストボックスに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
このような感じなんですが思うように動きません。
後は何が必要なのか教えていただけないでしょうか?
よろしくお願いします。
"0"から"111"までの二進表記に関してはちゃんと動くと思いますよ。
> 思うように動きません。
どのように動作すると思っていて、それが
どのように動作してしまっているのでしょう?
> Public Function 2進表示to10進変換(bin_d As String) As Integer
VBでは、数値から始まる名前は使えません。
それに、Integer型の戻り値であるのならば、
to10進変換 という命名は、すこし奇妙に聞こえます。
> For Cnt = 0 To 3
扱うのは、0〜3 の範囲だけでよいのですね?
> 後は何が必要なのか教えていただけないでしょうか?
変数宣言を行いましょう。Option Explicit を付けた上で。
ぁ…0〜3だった(orz
解決することが出来ました。
変数の宣言をしてたつもりがしてませんでした。Dentalさんに言われて気づきました。
みなさん本当にありがとうございました。
ツイート | ![]() |