真正的共识

计算机通过移动二进制数字(位)在工作。然而,大多数计算机不与个别位而工作,他们在周围移动数据块。这一块的大小被称为一个“字”。通常,当我们谈到一机多点”,我们说一个字的大小。因此,一个32位的机器有一个32位的字的大小,这意味着它移动信息大约在32位的时间。

通常情况下,现代的计算机用一个字地址存储器。一个32位的字,这意味着大约有2 ^ 32(4000000000)独特的内存地址,可以解决。这就是为什么32位机一般不会使用超过4GB的内存。

内存的机器数量可以地址无关的“意义”的机器,实际上是有它一定的“意义”指的是什么没有真正的共识

32位机(如Pentium Pro和晚32点x86s)可以解决超过4条,但他们仍然只考虑32位计算机。

我(个人)只考虑机器是一个n位的机器,如果它能够(至少)处理多达2 ^ N单个字节,可以容纳至少n位的所有寄存器,可以在N位做的所有操作(或更大)寄存器。



所以,如果我理解正确的话,电脑就会在32位的数据块(4字节),但在我的C++程序,我可以给一个变量的单字节的内存。这似乎是矛盾的我。

我想我的问题归结为:说我有一个程序,使用了大量的变量,所以空间问题。一个字节就足够了,我需要把我给他们节省空间为字符数据(1字节)。但是,如果计算机传送到最小的“块”是4个字节,这实际上节省空间吗?或将有效地使用相同的内存量为如果我变量整型(4字节,或一个完整的词)?

这是一个很微妙的问题,所以让我知道,如果我不清楚。

PS–感谢一个明确的,有组织的,写得很好的教程!我真的很喜欢到目前为止。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值