二进制11000000转换十进制的计算方法如何

如题所述

11000000(2)=2的7次方+2的6次方=192(10)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-03-14
用自定义函数处理
Option Explicit
Dim bb_h(7)
Dim bb_hh(2)
Dim a As String
Dim fa1 As String

Public Function bin_hex()
'2-16转换
For i = 0 To 3
If bb_h(i) = "1111" Then
bb_hh(i) = "F"
ElseIf bb_h(i) = "1110" Then
bb_hh(i) = "E"
ElseIf bb_h(i) = "1101" Then
bb_hh(i) = "D"
ElseIf bb_h(i) = "1100" Then
bb_hh(i) = "C"
ElseIf bb_h(i) = "1011" Then
bb_hh(i) = "B"
ElseIf bb_h(i) = "1010" Then
bb_hh(i) = "A"
ElseIf bb_h(i) = "1001" Then
bb_hh(i) = "9"
ElseIf bb_h(i) = "1000" Then
bb_hh(i) = "8"
ElseIf bb_h(i) = "0111" Then
bb_hh(i) = "7"
ElseIf bb_h(i) = "0110" Then
bb_hh(i) = "6"
ElseIf bb_h(i) = "0101" Then
bb_hh(i) = "5"
ElseIf bb_h(i) = "0100" Then
bb_hh(i) = "4"
ElseIf bb_h(i) = "0011" Then
bb_hh(i) = "3"
ElseIf bb_h(i) = "0010" Then
bb_hh(i) = "2"
ElseIf bb_h(i) = "0001" Then
bb_hh(i) = "1"
ElseIf bb_h(i) = "0000" Then
bb_hh(i) = "0"
End If
Next i
fa1 = bb_hh(0) & bb_hh(1)
Text2 = Val("&H" & fa1)
End Function

Private Sub Command1_Click()
a = Text1
bb_h(0) = Mid(a, 1, 4)
bb_h(1) = Mid(a, 5, 4)
Call bin_hex
End Sub

Private Sub Form_Load()
Text1 = ""
End Sub
第2个回答  2007-03-14
我觉的应该先转成16进制
11000000-》 1100 = C 0000 = 0
所以0xC0 = 12*16+0 = 192 这样计算起来简单点 计算量也小

当然楼上的也是对的 不过2进制位数多点的话 计算量和式子够你整的
第3个回答  2007-03-14
( 0* 2的0次方)+(2的1次方+2的2次方)……+1 * 2的6次方 + 1* 2的7次方
第4个回答  2007-03-14
你好:
基本算法:
1*2^(8-1)+1*2^(7-1)+0*2^(6-1)+0*2^(5-1)+,,,,,
=128+64=192