VFP中常用3种进制的转换

* 10进制和2进制之间转换
?_2to10(_10to2(-3222))
?_2to10(_10to2(3222))


* 10进制转换16进制
?transform(3222 ,[@0])


* 16进制转换10进制
?0x0C96

function _10to2(tn as integeras string
     local st ,i
     st = []
     for i = 31 to 0 step -1
          st = st + iif(bittest(tn ,i) ,[1] ,[0])
     next
     return st
endfunc
function _2to10(tcb as string)
    local i ,nc ,sig
    nc = 0
    *- 负整数
    sig = iif(len(tcb) = 32 and left(tcb ,1) = [1] ,-1 ,1)
    for m.i = len(tcb) to 1 step -1        
        nc = nc + int(val(substr(tcb ,m.i ,1)))*2^(len(tcb) - m.i)            
    next
    return abs(bitnot(int(nc)-1)) * sig
endfunc




 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值