如何在pb6.5 內將二進制碼轉為16進制碼,請各位專家指點,謝謝!!
uj5u.com熱心網友回復:
自己寫一個函數即可.如:1101
用如下格式轉換為10進制
1*2^3+1*2^2+0*2^1+1*2^0=13
然后10進制換為16進制
13=0xD
uj5u.com熱心網友回復:
貼一個函式給你,直接用吧!pb6.5應該可以用吧。===========================================
//定義引數string s_bin //即2進制數字串型別
//回傳值string s_hex
int li_slen,li_loop,li_mod
string s_hex
if upper(left(s_bin,1))='B' then s_bin=mid(s_bin,2)
li_slen=len(s_bin)
li_mod=mod(li_slen,4)
choose case li_mod
case 1
s_bin='000'+s_bin
case 2
s_bin='00'+s_bin
case 3
s_bin='0'+s_bin
end choose
for li_loop=1 to li_slen step 4
choose case mid(s_bin,li_loop,4)
case '0000'
s_hex=s_hex+'0'
case '0001'
s_hex=s_hex+'1'
case '0010'
s_hex=s_hex+'2'
case '0011'
s_hex=s_hex+'3'
case '0100'
s_hex=s_hex+'4'
case '0101'
s_hex=s_hex+'5'
case '0110'
s_hex=s_hex+'6'
case '0111'
s_hex=s_hex+'7'
case '1000'
s_hex=s_hex+'8'
case '1001'
s_hex=s_hex+'9'
case '1010'
s_hex=s_hex+'A'
case '1011'
s_hex=s_hex+'B'
case '1100'
s_hex=s_hex+'C'
case '1101'
s_hex=s_hex+'D'
case '1110'
s_hex=s_hex+'E'
case '1111'
s_hex=s_hex+'F'
case else
return "-1"
exit
end choose
next
return s_hex
uj5u.com熱心網友回復:
有問題請先GOOGLE,BAIDU轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/115159.html
標籤:腳本語言
