您的当前位置:首页正文

详解为什么32位系统只能用4G内存.

2024-11-07 来源:个人技术集锦

 
        既然是详解, 就从最基础的讲起了.

       1. Bit(位)
              Bit计算机是计算机最小的存储单位,  大家都知道计算机实质上都是用二进制数0或者1来存储数据的,  所以Bit实际上可以看成存放1个二进制数字的1个位置.
             也就是说bit只有2种值, 0 或者 1, 所以1个bit能存放1个布尔类型的值(boolean,是或者否).
             如果一个布尔类型被存放在1个bit中, 自然这个变量就占用1个bit了, 无论这个值是1或者0, 它都占用1个bit...

       2. Byte(字节)
             这个就厉害了, 因为我们平常讲的1个文件占多少KB, MB...  1个硬盘占多少GB..  等后面的这个B, 指的就是字节Byte, 而不是上面的Bit,  而且1个Byte = 8Bit,  这个怎么理解呢?

             其实1个Byte 可以看成是有8个物理上连续的Bit组成的, 如下图:
            


       所以 我们定义1个指针 int *p;   然后求sizeof(p) 是返回4的, 4字节嘛~

        而对于64位系统来讲, 内存地址是64位的2进制数,  所以sizof(p)就返回8了, 共需要8个内存单位去存放 64位系统的1个指针啊!

转载于:https://www.cnblogs.com/nvd11/archive/2013/04/02/2996784.html

Top