数据存放顺序—大小端
将一个数据存放到内存里:int num=0x11223344
那在VS里 是大端还是小端呢?写个程序来测试一下
看出vs 是小端存储
看下内存:F11-窗口-内存-输入&num
果然是小端存储
整数存储在内存中
转化为二进制数--原码--反码--补码,最终以补码的形式存储在内存中
原码:化成2进制 如int num=9:0000 0000 0000 0000 0000 0000 0000 1001
int num=-5:1000 0000 0000 0000 0000 0000 0000 0101
对于int /signed int 这两种数据类型而言,它们有正负(要求有符号)所以最高位是符号位,0表示正数,1表示负数;而对于unsigned int 来说全是正数,最高位就只是数而已不代表符号(后面会附上例题)
反码:对于正数:原码=反码=补码
对于负数:原码 除符号位都取反 得到反码
补码:对于正数:原码=反码=补码
对于负数:反码+1得到补码(补码取反+1也可以得到原码)
看一个例子:
&num num存的值
来看几个例题:
浮点型存储在内存中
任意⼀个⼆进制浮点数V可以表示成:
![](https://i-blog.csdnimg.cn/blog_migrate/012c2ccccb9a4625dfc1bf774d4e51be.png)
所以9应该写成:0 10000010 001 0000 0000 0000 0000 0000
S E+127--转二进制 M-1 补齐32bites