ASP版十进制转二进制
进制的转换一般用在比较低层的应用中,比如硬件控制,内存操作这些,在网站应用中还是很少的。不过一些密码加掩码,数据加密存储上还是比较常见的。下面就ASP中如何实现十进制向二进制的转换作一说明,当然您首先应该会手工十进制向二进制的转换。
十进制转二进制手工算法
十进制整数转换为二进制整数采用"除2取余,逆序排列"法。
步骤:用2去除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为一时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。
302转化成二进制 302/2 = 151 余0 151/2 = 75 余1 75/2 = 37 余1 37/2 = 18 余1 18/2 = 9 余0 9/2 = 4 余1 4/2 = 2 余0 2/2 = 1 余0,条件到最终二进制为100101110
ASP实现十进制到二进制的自动转换
代码如下:
'功能:十进制转换成二进制
'参数:iNum 待转换的十进制数
'返回:转换后的二进制数
'例子:TenAndTwo(22)
Function TenAndTwo(iNum)
Dim iResult,iBound
Dim varry(),varry1()
if Isnumeric(iNum)=false then Response.End()
iBound = 1
ii = iNum \ 2
do while(ii>1)
iBound = iBound+1
if iBound=1 then
ii = iNum \ 2
else
ii = ii \ 2
end if
loop
redim varry(iBound),varry1(iBound)
for i = 0 to iBound
if i=0 then
varry(i) = iNum Mod 2
varry1(i) = iNum \ 2
else
varry(i) = varry1(i-1) Mod 2
varry1(i) = varry1(i-1) \ 2
end if
next
For j=0 to iBound
k = iBound - j
iResult = iResult & varry(k)
Next
if left(iResult,1) = 0 then iResult=right(iResult,len(iResult)-1)
TenAndTwo = iResult
End Function
更新时间:2010-4-24
|