十进制数1 至100的二进制表示?

如题所述

 åè¿›åˆ¶æ•´æ•°è½¬äºŒè¿›åˆ¶æ•°ï¼šâ€œé™¤ä»¥2取余,逆序排列”(除二取余法)。[1]

以十进制数11转换为二进制数为例:

那么十进制数11转换为二进制数就是00001011。


VB6.0可通过编辑一个自定义函数过程来求得十进制数0-255的二进制字符串。

Funtion 过程,Visual Basic 包含内置的、或内部的函数,如 Sqr、Cos 、Chr或Hex函数。此外,还可用 Function 语句编写自己的 Function è¿‡ç¨‹ã€‚

在 Visual Basic 中调用 Function 过程的方法和调用任何内部函数的方法是一样的。

实施代码:

Option Explicit
    Dim sBin
    Dim sHex
    Dim BinData
    Const s1 = "0000101001101111000", s2 = "0125A4936DB7FEC8"
    Dim i As Integer
    Dim j As Integer

Public Function HexToBin(ByVal sHex As String) As String '转换自定义函数
    Dim i As Integer, sBin As String
    sHex = UCase(sHex)
    For i = 1 To Len(sHex)
    sBin = sBin & Mid(s1, InStr(1, s2, Mid(sHex, i, 1)), 4)
    Next i
    HexToBin = sBin
    BinData = sBin
End Function

Private Sub Command1_Click()
    j = Val(Text1)
    If Len(Hex(j)) = 1 Then
        sHex = "0" & Hex(j)
    Else
        sHex = Hex(j)
    End If
    Call HexToBin(sHex)
    Text2 = BinData
End Sub

在Text1文本框输入0-255的整数,点Command1按钮,Text2文本框就输出该数的二进制字符串。

参考:

[1]http://baike.baidu.com/link?url=3O3LTqT7J4gpTM05DL6bjQoJbRKqx2WyGC7VkxYYfJyCwJcGBVzzUmUqfleAtliyaYhJA250V8XoWde8-EvJiK

温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-01-16
楼上的聪明啊,:)
第2个回答  推荐于2017-10-13
amu945 手快。
1=00000001
2=00000010
3=00000011
4=00000100
5=00000101
6=00000110
7=00000111
8=00001000
9=00001001
10=00001010
11=00001011
12=00001100
13=00001101
14=00001110
15=00001111
16=00010000
17=00010001
18=00010010
19=00010011
20=00010100
21=00010101
22=00010110
23=00010111
24=00011000
25=00011001
26=00011010
27=00011011
28=00011100
29=00011101
30=00011110
31=00011111
32=00100000
33=00100001
34=00100010
35=00100011
36=00100100
37=00100101
38=00100110
39=00100111
40=00101000
41=00101001
42=00101010
43=00101011
44=00101100
45=00101101
46=00101110
47=00101111
48=00110000
49=00110001
50=00110010
51=00110011
52=00110100
53=00110101
54=00110110
55=00110111
56=00111000
57=00111001
58=00111010
59=00111011
60=00111100
61=00111101
62=00111110
63=00111111
64=01000000
65=01000001
66=01000010
67=01000011
68=01000100
69=01000101
70=01000110
71=01000111
72=01001000
73=01001001
74=01001010
75=01001011
76=01001100
77=01001101
78=01001110
79=01001111
80=01010000
81=01010001
82=01010010
83=01010011
84=01010100
85=01010101
86=01010110
87=01010111
88=01011000
89=01011001
90=01011010
91=01011011
92=01011100
93=01011101
94=01011110
95=01011111
96=01100000
97=01100001
98=01100010
99=01100011
100=01100100

附上TSQL脚本。
declare @i int
declare @str varchar(8)
set @i=1
while @i<101
begin
declare @j int
set @str=''
set @j=1
while @j<=8
begin
if @i & (power(2,@j-1))=(power(2,@j-1))
set @str='1' + @str
else
set @str='0' + @str
set @j=@j+1
end
print cast(@i as varchar(3))+'='+@str
set @i=@i+1
end本回答被提问者采纳
第3个回答  2007-01-16
1(1)
2(10)
3(11)
4(100)
5(101)
6(110)
7(111)
8(1000)
9(1001)
10(1010)
11(1011)
12(1100)
13(1101)
14(1110)
15(1111)
16(10000)
17(10001)
18(10010)
19(10011)
20(10100)
21(10101)
22(10110)
23(10111)
24(11000)
25(11001)
26(11010)
27(11011)
28(11100)
29(11101)
30(11110)
31(11111)
32(100000)
33(100001)
34(100010)
35(100011)
36(100100)
37(100101)
38(100110)
39(100111)
40(101000)
41(101001)
42(101010)
43(101011)
44(101100)
45(101101)
46(101110)
47(101111)
48(110000)
49(110001)
50(110010)
51(110011)
52(110100)
53(110101)
54(110110)
55(110111)
56(111000)
57(111001)
58(111010)
59(111011)
60(111100)
61(111101)
62(111110)
63(111111)
64(1000000)
65(1000001)
66(1000010)
67(1000011)
68(1000100)
69(1000101)
70(1000110)
71(1000111)
72(1001000)
73(1001001)
74(1001010)
75(1001011)
76(1001100)
77(1001101)
78(1001110)
79(1001111)
80(1010000)
81(1010001)
82(1010010)
83(1010011)
84(1010100)
85(1010101)
86(1010110)
87(1010111)
88(1011000)
89(1011001)
90(1011010)
91(1011011)
92(1011100)
93(1011101)
94(1011110)
95(1011111)
96(1100000)
97(1100001)
98(1100010)
99(1100011)
100(1100100)
第4个回答  2020-02-14
4
相似回答