发布网友 发布时间:2022-04-22 02:22
共2个回答
热心网友 时间:2022-04-20 04:30
额 你理解错了 。 跟本就不存在a的ASCII码值。
这样看:定义了一个变量,给它取个名字叫a,这个名字是给你程序员看的,计算机跟本不看这个a,a对计算机来说只是一个标识,它标识着在内存中所占用的一个大小为4B的内存空间,并且!这4B的空间存放一个整数,其值为2. 而在存储的时候是这样存的
由于内存的最小单位是字节,也就是1B是最小的单位,而一个int类型的数据在32的系统中要占用32位大小, 换算一个 8位=1字节 即8bit=1B 那么32位=4字节。 这个2转换成二进制数是10 ,但计算机要求用32位的数来存放这个2 ,咋办? 补0呗。在哪补? 肯定不能在后边补啊,那就变成别的数了—— 那,那就在前补。
所以是00000000 00000000 00000000 00000010
以上便是2这个数在计算机内存中的形式, 每8位一组分成4组刚好是4B大小,所以内存中就有连着的4个内存单元 来存放这个数值2. 而这一内存单元我们把它叫做a, 计算机也正是通过这个名字来标识这个数。
综上,总结一下,a这个字母是给程序员看的, 计算机不认识a这字母,a在计算机中仅仅是转换为一个计算机用于标识这个数值2的其它的什么东西。 具体是什么东西你不必要了解,其实我也不知道。而这个2在内存中存放的形式是占用4个内存单元的空间。
楼主想更深入了解这方面,建议把C语言学一遍后学学汇编语言就很清楚了
热心网友 时间:2022-04-20 05:48
数据在存放到内存里的时候,有两种存放方式,即:Big Endian 和 Little Endian
这两个存取方式决定了内存存放数据的原则是 高高低低 原则 还是 高低低高 原则。
高高低低--内存中的高位存放数据的高位,内存中的低位存放数据的低位(Little Endian
)
高低低高--内存中的高位存放数据的低位,内存中的低位存放数据的高位(Big Endian )
比如:我有一个数据,是0xA5A1,它在存放到内存中是怎样存放的呢?因为在我们平时的书写中,A5是高位,A1在低位,存放到内存中的时候,A1存放在0x4000这个位置,而A5存放在0x4001这个位置,高位存放在内存的高地址中,低位存放在低地址中,这种方式就是Little
Endian 。