vb中文字和二進位制相互轉換

2021-06-10 05:01:05 字數 1368 閱讀 1079

strtobyte:字串->位元組陣列

bytetostr:位元組陣列->字串

可轉換中英文混合字元.

private sub strtobyte(s as string, b() as byte)

dim i as long

dim p as long

dim b1 as byte, b2 as byte

for i = 1 to len(s)

if asc(mid$(s, i, 1)) >= 0 then

redim preserve b(p)

b(p) = asc(mid$(s, i, 1))

p = p + 1

else

redim preserve b(p + 1)

call inttobyte(asc(mid$(s, i, 1)), b1, b2)

b(p) = b1

b(p + 1) = b2

p = p + 2

end if

next i

end sub

private sub inttobyte(n as integer, b1 as byte, b2 as byte)

dim s as string

s = right$("0000" & hex$(n), 4)

b1 = cbyte("&h" & left$(s, 2))

b2 = cbyte("&h" & right$(s, 2))

end sub

private function bytetostr(b() as byte) as string

dim i as long

while i <= ubound(b)

if b(i) < 128 then

bytetostr = bytetostr & chr$(b(i))

i = i + 1

else

bytetostr = bytetostr & chr$(bytetoint(b(i), b(i + 1)))

i = i + 2

end if

wend

end function

private function bytetoint(b1 as byte, b2 as byte) as integer

dim s as string

dim s1 as string, s2 as string

s1 = right$("00" & hex$(b1), 2)

s2 = right$("00" & hex$(b2), 2)

s = "&h" & s1 & s2

bytetoint = cint(s)

end function

二進位制和十進位制的相互轉換

1.轉成二進位制主要有以下幾種 正整數轉二進位制,負整數轉二進位制,正小數轉二進位制 負小數轉二進位制 1 正整數轉二進位制 原碼 要點 除二取餘,然後倒序排列,高位補零。也就是說,將正的十進位制數除以二,得到的商再除以二,依次類推知道商為零或一時為止,然後在旁邊標出各步的餘數,最後倒著寫出來,高位...

二進位制和十進位制的相互轉換

請將下列數字轉換為十進位制數 110010011111 2 10110101110 2 156 2608 1043 使用按權展開法將二進位制數轉換為十進位制數,使用短除法除2取餘計算十進位制數轉換為二進位制數。實現此案例需要按照如下步驟進行。1 二進位制數110010011111,轉為十進位制的結果...

二進位制和十進位制的相互轉換

居家隔離這段時間,簡直悶得慌,今天恰好發現了阿里雲大學裡面的課程,決定把linux基礎再鞏固一遍,第一節課學的是計算機基礎,正好搞懂了自己一直以來不太明白的進製轉換 我腦子有點笨,之前總是覺得有點繞 下面呢就是我今天學到的二進位制和十進位制的轉換 所謂n進製轉換,就是到達了n就進一位,如二進位制中,...