求一个0-255的十进制数或一个00-FF的16进制数的二进制各位的值?例如:十进制数64,它的二进制为01000000,那么各个位的值分别为
位数 值
1 0
2 0
3 0
4 0
5 0
6 0
7 1
8 0
位数 值
1 0
2 0
3 0
4 0
5 0
6 0
7 1
8 0
解决方案 »
- 请教一个sql语句。谢谢了
- 如何在datereport里控制rptlabel的属性,我指到显示时才动态修改!!
- VB 的 DX Load 图 问题
- 如何将vb中的一个txt文件转换成xml文件,相当于手工操作时修改后缀名。
- 我用VB6.0都很多年了,月薪才1500
- 怎么将LISTVIEW中显示的数据打印出来?解决结帖!!
- 如何在进行打印之前判断用户是否安装了打印机驱动
- SOS!怎么打印?
- 往好的方面想:当你电脑坏了的时候,别人能通过注册表为你解决什么问题?往坏的方面想:当你的注册表不小心被人偷去了的时候,你最担心的是什么?
- 大家帮帮忙吧。小女子真不懂啦!
- vb登陆网站问题?
- 用GDI+如何旋转图片
Dim s As String
Dim i As Integer
Dim sBin As StringIf IsNumeric(txtdec2bin.Text) Then
sbin = Dec2Bin(txtdec2bin.Text)
End Ifs = Format(sBin, "00000000")
For i = 1 To 8
bytValue(i) = Val(Mid(s, 9 - i, 1))
Debug.Print i, bytValue(i)
NextEnd Sub
Function Dec2Bin(InputData As Double) As String
''
'' Converts Decimal to Binary
'' This uses the Quotient Remainder method
''
Dim Quot As Double
Dim Remainder As Double
Dim BinOut As String
Dim i As Integer
Dim NewVal As Double
Dim TempString As String
Dim TempVal As Double
Dim BinTemp As String
Dim BinTemp1 As String
Dim PosDot As Integer
Dim Temp2 As String
'' Check to see if there is a decimal point or not
''
If InStr(1, CStr(InputData), ".") Then
MsgBox "Only Whole Numbers can be converted", vbCritical
GoTo eds
End IfBinOut = ""
NewVal = InputData
DoAgain:'' Start the Calculations off
NewVal = (NewVal / 2)
'' If we have a remainder
If InStr(1, CStr(NewVal), ".") Then
BinOut = BinOut + "1"
'' Get rid of the Remainder
NewVal = Format(NewVal, "#0")
NewVal = (NewVal - 1)
If NewVal < 1 Then
GoTo DoneIt
End If
Else
BinOut = BinOut + "0"
If NewVal < 1 Then
GoTo DoneIt
End If
End If
GoTo DoAgainDoneIt:BinTemp = ""'' Reverse the Result
For i = Len(BinOut) To 1 Step -1
BinTemp1 = Mid(BinOut, i, 1)
BinTemp = BinTemp + BinTemp1
Next iBinOut = BinTemp'' Output the Result
Dec2Bin = BinOut
eds:
End Function
Public Function Nible2Bin(Byval x As Integer)
If x > 15 Or x < 0 Then Exit Function
Nible2Bin = Choose(x + 1, "0000","0001","0010","0011", _
"0100","0101","0110","0111", _
"1000","1001","1010","1011", _
"1100","1101","1110","1111")
End Sub将所有数字都按半字节来处理,每字节将两个半字节连接就可以了。
Dim two As String
Dim n As Double
Do Until ten = 0
n = ten Mod 2
two = n & two
ten = ten \ 2
Loop
huan2 = two
End Function
if byt = 0 then exit function
conv = conv(byt \ 2) & byt mod 2
end function