1. 大小端介绍 什么大端小端:
大端(存储)模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址 中;
小端(存储)模式,是指数据的低位保存在内存的低地址中,而数据的高位,,保存在内存的高地 址中。
2.数据存储的练习
看看这道题为什么是这样的?
char a = -1;
-1-10000000000000000000000000000001(原码)
1111111111111111111111111111111111110(反码)
1111111111111111111111111111111111111(补码)
这里会发生截断就变成了11111111
char b也是11111111
char c也是11111111,但是这里的区别是signed char 和 unsigned char 在vs环境下char就是signed类型故a和b一样。
在打印的时候会发生整形提升a和b都是11111111111111111111111111111111(补码)
得到的结果是100000000000000000000000000000001(原码),所以得到的结果是-1
那么c是什么呢?因为他是unsigned char类型,在整形提升的时候变成000000000000000000000000011111111(补码,反码,原码)打印的结果是255(转换为十进制)。
以%u的形式打印就认为其是无符号数
-128的原码是100000000000000000000000010000000
反码是1