对于整形在数据内存中的存储:数据存放在内存中其实存放的是补码。
小编插播小知识:正整数的原、反、补码都相等。负整数的原、反、补码各不相等。
原码:直接将数值按照正负数的形式翻译成二进制得到的就是原码。
反码:原码符号位不变,其他位依次按位取反就可得到反码。
补码:反码+1就是补码。
但在调试窗口中观察内存的时候,为了方便展示,显示的是十六进制。
例:
这时我们就会存在疑惑:为什么a在内存里是以44 33 22 11存储的呢?
为什么不可以是33 44 22 11呢?又或者是11 22 33 44储存呢?
这就涉及到大小端的问题了,什么是大小端?
1.定义:大端(存储)模式:是指数据的高位字节保存在低位地址中,低位字节保存在高位地址中。
小端(存储)模式:是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中。
小端存储:
大端存储: