整型数据如何在内存中存放
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。
概括讲,就是“低位在前,高位在后”。