进制转换二(BIN->HEX)

/*===================二进制转十六进制函数gf_bintohex=====================
  函数名:gf_bintohex
  参数说明:
           string类型     1、s_bin      二进制字符串

  注意事项:
  功能:将二进制字符串转换为十六进制字符串。
  返回值:十六进制的字符串。非法二进制字符串返回-1;空串返回Null
  作者:费贤智
  日期:2005/2/4
  =======================================================================*/
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 'H'+s_hex

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值