32位和64位操作系统的区别

32位,64位是指: 使用32/64个比特来标识内存地址,32/64位长度的内存地址标识;

CPU可以直接访问内存,因为内存条为每个 字节 都标识了一个内存地址,这个地址是由32/64个二进制数组成的,类似数组下标;

最多可以标识的地址数量为:
32位: 2^32 = 2^2   *  1024(G) * 1024(M) * 1024(K) = 4294967296 个,             就是4G                        字节。(0x00000000 ~ 0xFFFFFFFF)
64位: 2^64 = 2^34  *  1024(G) * 1024(M) * 1024(K) = 18446744073709551616 个,   就是171 7986 9184G(172亿G)    字节。(0x0000000000000000 ~ 0xFFFFFFFFFFFFFFFF)

指针是用来存放内存地址的:

对于32位系统来讲,1个指针需要4byte的内存来存放该指针的内容(1个内存地址)。int *p;sizeof(p) == 4;

对于64位系统来讲,1个指针需要8byte的内存来存放该指针的内容(1个内存地址)。int *p;sizeof(p) == 8;

posted @ 2020-06-20 11:11  撒欢  阅读(454)  评论(0编辑  收藏  举报