VB中二進位制轉十進位制的演算法問題

2022-05-07 05:13:07 字數 1062 閱讀 1345

1樓:匿名使用者

可以用一個變數儲存2的次方,每次乘2就行了,不用每次都用(2 * val(b)) ^ (val(len(a)) - 1)

2樓:匿名使用者

你的**修改如下:

option explicit

dim a, b, c, d

dim num as double

dim i as integer

function bin2dec() '二進位制轉十進位制a = num

for i = 1 to len(a)

b = mid(a, i, 1)

c = (2 * val(b)) ^ (val(len(a)) - i)

d = d + c

next i

end function

private sub command1_click()num = text1

d = 0

call bin2dec

text2 = d

end sub

private sub form_load()text1 = "": text2 = ""

end sub

以下是我的**:

option explicit

dim bins as string

dim l as integer

dim i as byte

dim sum as double

private sub command1_click()sum = 0

bins = text1

l = len(bins)

for i = 1 to l

sum = sum + (val(mid(bins, i, 1)) * 2) ^ (l - i)

text2 = sum

next

end sub

private sub form_load()text1 = "": text2 = ""

end sub

請在text1輸入二進位制數,按command1後text2輸出其10進位制數值。

十進位制100 75轉換成二進位制,十進位制100轉二進位制是多少

計算器是不會計算小數的 十進位制100.75轉換成二進位制 先拿整數100除以2。100 2 50餘0,50 2 25餘0,25 2 12餘1,12 2 6餘0,6 2 3餘0,3 2 1,餘1,從後往前看就是1100100 小數75轉換是用乘的,0.75 2 1.50取整數1。用0.50 2 1....

關於二進位制轉換十進位制的問題,二進位制數如何轉換成十進位制數?

你看錯啦,現在先來指定格式 a b a是底數,b是指數,a b就是a的b次方的意思。a b 表示a是b進位制數。那麼你看到的題目其實是 11011 2 1 2 4 1 2 3 0 2 2 1 2 1 1 2 0 16 8 0 2 1 27另外舉個十進位制例子 956 9 10 2 5 10 1 6 ...

十進位制21425轉化為二進位制,八進位制十六進位制要過程

214 10 0 1010 10 1010 1 1010 100 2 10 1010 1 1010 100 2 10100 1 1010 100 2 10101 1010 100 2 11010010 100 2 11010110 2 011 010 110 2 326 8 11010110 2 1...