|
楼主 |
发表于 2014-6-19 22:00:04
|
显示全部楼层
四川省南充市
OK,然后让我们来试试吧字节型的数据转换回整数
先从简单的无符号整数来试试吧~首先我们来研究下如何把十进制转换到二进制。
以下内容来自度娘百科:
十进制整数转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为0时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。
根据百科内容我们自己写一个转换试试~
判断循环首 (真)返回值 = 到文本 (字节 % 2 ) + 返回值 字节 = 字节 ÷ 2 如果真 (字节 = 0 ) 返回值 = “0” + 返回值 跳出循环 ()如果真 (字节 = 1 )返回值 = “1” + 返回值 跳出循环 ()判断循环尾 ()如果真 (取文本长度 (返回值 ) ≠ 8 )返回值 = 取重复文本 (8 - 取文本长度 (返回值 ), “0”) + 返回值 返回 (返回值)
现在我们已经可以将字节转换成二进制了。然后我们写个二进制转换到十进制,就可以转换到整数了...
(其实对于无符号的转换不需要这么麻烦,只是为了更好的展示转换过程所以这样做了
以下转换方法摘自度娘百科:
要从右到左用二进制的每个数去乘以2的相应次方(次方要从0开始算起)
例如:二进制数1101转化成十进制
1101(2)=1*2^0+0*2^1+1*2^2+1*2^3=1+0+4+8=13
变量名 | 类 型 | 静态 | 数组 | 备 注 | 循环次数 | 整数型 | | | 文本长度 | 整数型 | | | 长整数返回值 | 长整数型 | | |
文本长度 = 取文本长度 (二进制文本 ) 计次循环首 (文本长度, 循环次数 ) 如果真 (取文本中间 (二进制文本, 文本长度 - 循环次数 + 1, 1 ) = “1”)长整数返回值 = 长整数返回值 + 求次方 (2, 循环次数 - 1 ) 计次循环尾 ()返回 (长整数返回值 )
OK,都准备好了,接下来写无符号的转换是很简单的了
调试输出 (四字节到无符号整数 ({ 255, 255, 255, 255 })) 变量名 | 类 型 | 静态 | 数组 | 备 注 | 临时文本 | 文本型 | | | 循环次数 | 整数型 | | | 如果真 (取字节集长度 (字节集 ) ≠ 4 )返回 (0 ) 计次循环首 (4, 循环次数 )临时文本 = 进制_字节到二进制 (字节集 [循环次数 ]) + 临时文本 计次循环尾 ()返回 (进制_二进制到长整数型 (临时文本 ))
开始运行被调试程序
* 4294967295
被调试易程序运行完毕
可以看到结果是4294967295,正是我们之前说的无符号整数的最大值。所以到这里转换成功!
|
|