VBA编码程序(进制的转换)


'二进制代码转换为十六进制代码
function c2to16(x)
   i=1 
   for i=1 to len(x) step 4 
      c2to16=c2to16 & hex(c2to10(mid(x,i,4))) 
   next 
end function


'二进制代码转换为十进制代码
function c2to10(x)
   c2to10=0 
   if x="0" then exit function 
     i=0 
   for i= 0 to len(x) -1 
      if mid(x,len(x)-i,1)="1" then c2to10=c2to10+2^(i) 
   next 
end function


'十六进制代码转换为二进制代码
function c16to2(x) 
    i=0 
    for i=1 to len(trim(x)) 
      tempstr= c10to2(cint(int("&h" & mid(x,i,1)))) 
      do while len(tempstr)<4 
         tempstr="0" & tempstr 
      loop 
      c16to2=c16to2 & tempstr 
   next 
end function


'十进制代码转换为二进制代码
function c10to2(x) 
   mysign=sgn(x) 
   x=abs(x) 
   DigS=1 
   do 
      if x<2^DigS then 
        exit do 
      else 
        DigS=DigS+1 
      end if 
   loop 
   tempnum=x


   i=0 
   for i=DigS to 1 step-1 
      if tempnum>=2^(i-1) then 
         tempnum=tempnum-2^(i-1) 
         c10to2=c10to2 & "1" 
      else 
         c10to2=c10to2 & "0" 
      end if 
   next 
   if mysign=-1 then c10to2="-" & c10to2 
end function
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值