VB 二进制,八进制,十进制,十六进制转换-.NET教程,VB.Net语言

 

public function d_to_b(byval dec as long) as string
    do
    d_to_b = dec mod 2 & d_to_b
    dec = dec / 2
    loop while dec
end function

public function b_to_d(byval bin as string) as integer
    dim i as long
    for i = 1 to len(bin)
       b_to_d = b_to_d * 2 + val(mid(bin, i, 1))
    next i
end function

public function h_to_b(byval hex as string) as string
    dim i as long
    dim b as string

    hex = ucase(hex)
    for i = 1 to len(hex)
       select case mid(hex, i, 1)
       case "0": b = b & "0000"
       case "1": b = b & "0001"
       case "2": b = b & "0010"
       case "3": b = b & "0011"
       case "4": b = b & "0100"
       case "5": b = b & "0101"
       case "6": b = b & "0110"
       case "7": b = b & "0111"
       case "8": b = b & "1000"
       case "9": b = b & "1001"
       case "a": b = b & "1010"
       case "b": b = b & "1011"
       case "c": b = b & "1100"
       case "d": b = b & "1101"
       case "e": b = b & "1110"
       case "f": b = b & "1111"
      end select
    next i
    while left(b, 1) = "0"
        b = right(b, len(b) - 1)
    wend
    h_to_b = b
end function

public function b_to_h(byval bin as string) as string
   dim i as long
   dim h as string
   if len(bin) mod 4 <> 0 then
       bin = string(4 - len(bin) mod 4, "0") & bin
   end if

   for i = 1 to len(bin) step 4 
   select case mid(bin, i, 4)
       case "0000": h = h & "0"
       case "0001": h = h & "1"
       case "0010": h = h & "2"
       case "0011": h = h & "3"
       case "0100": h = h & "4"
       case "0101": h = h & "5"
       case "0110": h = h & "6"
       case "0111": h = h & "7"
       case "1000": h = h & "8"
       case "1001": h = h & "9"
       case "1010": h = h & "a"
       case "1011": h = h & "b"
       case "1100": h = h & "c"
       case "1101": h = h & "d"
       case "1110": h = h & "e"
       case "1111": h = h & "f"
    end select
   next i
   b_to_h = h
end function

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值