整形在内存中的存储
变量与内存的关系:
知识点梳理:
数据在所开辟的内存中是如何存储的?
在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理(CPU只有加法器)此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。 目的就是减少计算机的硬件成本
原码反码补码:
表示正数不用补码。对于负数才要补码。
原码是数的二进制,反码符号位不变其余为取反,补码为反码+1
补码取反+1得到原码
字节序:
在计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为8bit。在C语言中除了8bit的char之外,还有16bit的short型,32bit的long型。对于位数大于8位的处理器,例如16位或者32位的处理器,由于寄存器宽度大于一个字节,那么必然存在着一个如果将多个字节安排的问题。因此就导致了大端存储模式和小端存储模式。
大端:数据的低位保存在内存的高地址中
小端:是指数据的低位保存在内存的低地址中 (小小小)
我们只需要记住:计算机保存的是补码,用补码进行运算,最后再以原码的形式输出。根据这个原理,就可以计算笔试题啦!