题目要求
C语言中整数-8在内存中存储形式是?
思路分析
简单来说,数据在计算机中是以其补码形式存储和运算的。 -8在内存中的存储形式就是求-8的补码
所以 我们得知道源码,补码和反码之间的关系
原码:用最高位表示符号位,其余位表示数值位的编码称为原码。其中,正数的符号位为 0,负数的符号位为 1。
正数的原码、反码、补码均相同。
负数的反码: 把原码符号位保持不变.数值位依次取反
负数的补码:在反码的基础上加 1 即得该原码的补码。
举例说明
+8
原码为: 0000 1000
反码为: 0000 1000
补码为: 0000 1000
-8
原码为: 1000 1000
反码为: 1111 0111 //符号位不变,依次取反
补码为: 1111 1000 //+1之后在二进制中满2进1
所以C语言中整数-8在内存中存储形式是 1111 1000