您的位置:首页 > 其它

字节的理解

2016-04-29 19:35 344 查看
内存中每一个字节都有一个确定其位置的地址,而每个变量在编译时都在内存分配连续的一定字节数的存储单元,不同类型的变量在内存分配的存储单元的大小不同。如字符型变量分配1个字节,整形变量分配2个连续字节,单精度实型变量分配4个连续字节,双精度实型变量分配8个连续字节。变量分配的存储单元的第一个字节的地址就是该变量的地址。
编译程序在对源程序进行编译时,每遇到一个变量就为它分配存储单元,同时记录变量的名称、变量的数据类型和变量的地址。
这是《深入理解计算机系统》中的例子,实际上可以显示任意地址的内容。
# include <stdio.h>

void dump(void * p, int length)
{
char * s = p;
int i;
for (i = 0; i < length; i++, s++)
printf("%p: %x\n", s, *s);
}

int main()
{
int a = 0x12345678;
dump(&a, sizeof(a));

return 0;
}
0x7fff5fbffabc: 78
0x7fff5fbffabd: 56
0x7fff5fbffabe: 34
0x7fff5fbffabf: 12


内存储器(简称内存或主存)由许多存储单元组成,每个单元能存放一个二进制数,或一条由二进制编码表示的指令。字节是计算机中数据处理和存储容量的基本单位。1024个字节称为1K字节,1024K字节称为1兆字节(1MB),1024M字节称为1吉字节(1GB),1024G个字节称为1太字节(1TB),现在微型计算机的主存容量大多数在兆字节(MB)以上。计算机处理数据时,一次可以运算的数据长度称为一个“字”(Word)。字的长度称为字长。一个字可以是一个字节,也可以是多个字节。常用的字长有8位、16位、32位、64位等。如果某一类计算机的字由4个字节组成,则字的长度为32位,相应的计算机称为32位机。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: