chaojiang 发表于 2011-3-5 21:42:10

简单的问题,有劳各位大侠了

在看深度解密这本书,看到CA77化成十进制是-13705,我用笔算了好久也没算出来,只好来寻求帮助,要告诉我笔算的具体方法呀,谢谢了,

ashytools 发表于 2011-3-6 01:45:38

16进制,每个位是16的N-1次方。。。

你把十进制的10用16代换就可以算出来了。。

12X16X16X16+10X16X16+7X16+7=51831

sgw888 发表于 2011-3-6 08:38:00

楼主要的是负数的算法,楼上是无符号数的算法吧。

sgw888 发表于 2011-3-6 08:49:21

CA77-->二进制1100101001110111 -->因为表示的是有符号数,所以要进行转换-->
             0011010110001001--> 十进制13705,前面再加个负号就是 -13705

备注: 有符号数的二进制表示解释如下:

有符号数的二进制表示形式说明,第一位为符号位,0为正,1为负。正数时可以直接转换成十进制,无需转换。

第一位为1时,表示负数,负数转换成十进制时,计算方法为 先进行减1然后把0 1进行翻转。
上例就是1100101001110111-1=1100101001110110全部翻转为0011010110001001 计算成十进制就是
13705,注意它是个负数,所以是 -13705.

可能说的不是太规范,学C语言时的基础,忘得差不多了。

晨天数据恢复 发表于 2011-3-6 15:37:43

可以用电脑算啊

330wang 发表于 2011-3-6 18:17:04


数据解释器
如图

hbwazxf 发表于 2011-3-13 10:19:28

4楼正解。。

本因坊.秀策 发表于 2011-3-22 14:23:45

5楼正解,负数用补码表示。

464018888 发表于 2011-3-22 16:20:31

忘了,全忘啦 ?
页: [1]
查看完整版本: 简单的问题,有劳各位大侠了