找回密码
 立即注册→加入我们

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
查看: 8342|回复: 2

64位的寻址空间有多大

[复制链接]
发表于 2014-11-19 15:17:56 | 显示全部楼层 |阅读模式

欢迎访问技术宅的结界,请注册或者登录吧。

您需要 登录 才可以下载或查看,没有账号?立即注册→加入我们

×
64位二进制整数能表示的最大值是1111111111111111111111111111111111111111111111111111111111111111b
这样很难看,因此我们把它拆开,就是
11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111b
然后用十六进制表示就是
0xFFFFFFFFFFFFFFFF
转换为十进制就是
18446744073709551615
因为是64个存储位元,因此可以表示的数字的数目是18446744073709551616个数字。那么现在的电脑CPU基本都是x64的了,向下兼容32位的操作系统。
64位和32位有什么区别呢?首先32位的CPU的“寻址范围”就受到32个二进制位的限制,也就是说,假设它要访问内存,它的能力是,只能访问4G内存。
32位二进制数最大值是11111111 11111111 11111111 11111111b,十进制4294967295,能表示4294967296个数,那么也就是能访问4294967296个内存单元(字节)。
4294967296个字节 = 4294967296 B = 4194304 KB = 4096 MB = 4 GB
也就是说32位CPU只能访问4GB的内存喽。
对于现在的Win7也好Win8也好Win8.1也好Win10也好,都是不够的。这些操作系统为了让用户用起来更稳定,让程序运行更快,它们需要更多的内存来处理驱动、内核、页表、正在运行的程序、暂停了的程序等。比如你开10个浏览器,那就要给每个浏览器分配内存空间,存储图片,文字,浏览器要显示这些图像就要告诉操作系统:“我这个程序要显示这些图像。”操作系统就要去问它安装的驱动:“你们这些驱动谁能显示图像?”这个时候显卡驱动就说“我能”,然后显示图像的工作就交给了显卡驱动……显卡驱动本身,以及其它的各种驱动,都是要占用内存的,否则它们在哪干活?只能在内存里干活。

假设用64位来表示内存位置的索引,那就是这样:
18446744073709551616 ÷ 1024 = 18014398509481984 KB
18014398509481983 ÷ 1024 = 17592186044416 MB
17592186044415 ÷ 1024 = 17179869184 GB
17179869183 ÷ 1024 = 16777216 TB
16777215 ÷ 1024 = 16384 PB(我倒是见过1PB的硬盘,估计是服务器用的,很大,像个抽屉,各种散热风扇)
16383 ÷ 1024 = 16 什么B

这个数字实在是太大了。大家平时用的硬盘也就500GB的样子,也有加装了256GB固态硬盘的,或者台式机装了几个3、4TB的仓库盘的,我听说过的最大的机械硬盘也就18T。
然而事实上,我们平时用的x64的Win7也好,Win8也好,都是AMD64的架构,除非那不是x64,那是IA64,才是Intel 64的架构。Intel的CPU支持AMD的x64。
AMD64规定CPU的指针是48位的,也就是有48位的寻址空间,用来临时存储数字的寄存器,它的高16位被用来做为其它用途,比如标记之类的。

48位的二进制数能表示的最大的数字是111111111111111111111111111111111111111111111111b
11111111 11111111 11111111 11111111 11111111 11111111b
十六进制是0xFFFFFFFFFFFF
十进制是281474976710655
能表示281474976710656个数,那就是这样算:
281474976710655 ÷ 1024 = 274877906944 KB
274877906944 ÷ 1024 = 268435456 MB
268435456 ÷ 1024 = 262144 GB(我内存条也才16 GB)
262144 ÷ 1024 = 256 TB
也是很了不起的寻址能力了。
回复

使用道具 举报

发表于 2014-11-22 22:49:59 | 显示全部楼层
64位是以后的主流。。。学计算机的,感觉会被庞大的十六进制淹没。
第二次在厕所里哭晕。。。
学长,{:soso__6236112034290849730_2:}
回复 赞! 靠!

使用道具 举报

发表于 2024-6-12 09:17:27 | 显示全部楼层
16383 ÷ 1024 = 16 什么B // PB之后是EB,所以64位最大寻址能力是16EB。
回复 赞! 靠!

使用道具 举报

本版积分规则

QQ|Archiver|小黑屋|技术宅的结界 ( 滇ICP备16008837号 )|网站地图

GMT+8, 2024-11-21 17:40 , Processed in 0.037422 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表