整型数据如何在内存中存放

2019-03-18  本文已影响0人  长欢姑娘
整型数据存储问题.c

/*

共用体:

同一段存储单元存放不同类型的变量。共用体中所有成员所使用的开头地址的值都是一样的。

①共用体变量的地址和长度必须被其最宽基本类型成员的大小所整除。

②其总长度必须大于等于最宽成员的长度。

*/

在程序中,由于共用体存储的特点,变量c占4个字节。

sizeof(int)==  4;                  sizeof(char)* 4 = 4;

c.b[0]到c.b[3]的值分别为其所对应的ASCII值65\66\67\68。

程序输出结果为114525856。即:68*2^24+67*2^16+66*2^8+65。

这就体现存储整型数据时低位在前,高位在后。低位是65,高位是68。66*2^8,是因为存储66(‘B’)的那一个字节的位置,比存储65(‘A’)的那一个字节的位置高8位,所以乘以2^8。正如十进制数98中,高位是9,低位是8,所以98=9×10+8一样。因为是高位,所以乘以位权10,表示9这个符号代表的其实是90。

概括讲,就是“低位在前,高位在后”。

上一篇下一篇

猜你喜欢

热点阅读