整数在计算机内的运算

来源:百度知道 编辑:UC知道 时间:2024/06/14 09:09:29
短整数可以转换成长整数表示而保持其数值不变,而反过来却不行。短整数转成长整数表示的方法是,把符号位向左扩充至所需要的长度为止。下面大家看看《全国计算机等级考试2009年版》里的两个例子对不对:
0101(+5) 扩充成8位表时候,结果为0000 0101
1101(-3) 扩充成8位表时候,结果为1111 1101

我总觉得第2个是印刷错误~是不是:
1101(-5) 扩充成8位表时候,结果为1111 1101

我想不明白1101(-3)是怎么来的~~

计算机里数字使用补码的形式表示的。

1101是负数的补码表示形式。
转换成10进制的方式是不考虑符号位,“取反加1”,再添加符号。
即:1-101----取反----》1-010----加1----》1-011,也就是十进制的3,
就是负数的绝对值。

参考一下这个说明:
http://wenda.tianya.cn/wenda/thread?tid=146ff4748f3ce308&clk=wttpcts

这是 计算机存储数据的方式,
0101等于 5 1101等于-3

0101第一个0是代表符号位为正 后面3位 101 原样读出为5
所以是+5
1101第一位是1代表符号位是负数 后面3位 101 以补码形式存储 010+1=011应该为3,所以就是-3