当前位置:首页 > 内存 > 正文

计算机内存中存放一个负数的编码是

  • 内存
  • 2024-06-01 05:06:56
  • 9664

一、计算机基础,,求速答,,谢谢-76
有符号定点的最高位为符号位;0是正数,1是负数。正数的补码与其原始代码相同。因此,这个数字显然是负数。所以,这个数的十进制值为:256D-10110100B将10110100B转换为十进制数时,这是128+32+16+4=180。
所以256D-10110100B=76D。当特征机器码10110100为补码时;其真实十进制值为-76。
详细理论:
C语言;补二。
1.任何数值都以其补码形式存储在内存中。
2.正数的补码与其原始代码相同。
3.求负数的补码的两种方法:(8位,即8位)
(1)是二进制形式。数字的绝对值;按位取反;加1。
例如求-10的补码。
第一步是-10,取10的绝对值。
第二步取10的二进制形式00001010;
第三步将00001010反转为11110101;
第四步加1得到11110110。
因此-10在内存中存储为11110110。
(2).256-所需负数的绝对值=该负数的补码。注意:256:是这个负数的绝对值,不是这个数字
。那是,256-|负数|=求补码,那么256补码=|负数|那么原来的代码需要将第一位改为1。
例如求-10代码的补码。
第一级是256-|-10|=246。
第二级是二进制的246,转换为11110110。
因此-10存储在文件中。内存11110110。
如果我们比较这两种方法,很明显第二种方法更简单。
4.反码:将每一位反转;即0变为1,1变为0。
5.标记定点的最高有效位是符号位;0是正数,1是负数。
二、2、已知一个负数在计算机中的表达形式为“11100101”,那么这个数的十进制表?十进制数是-27。
计算方法:取出符号位,为负数,取下一个补码-1,然后按位取反,得到7位二进制数0011011,然后从最后一位×2^0累加,结果为27。
最终答案为-27。