2^16种组合为什么就是2^16Byte?一种组合不是有16个二进制代码吗,那一种组合不就是2Byte吗
关于这个问题我建议读一读这本书《编码—隐匿在计算机软硬件背后的语言》(Charles Petzold著,左飞 薛佟佟译)
我还是似是而非简单说说吧:
一种组合不是有16个二进制代码吗,那一种组合不就是2Byte吗?
应该这么理解:16位处理器一次处理16位数据,每一位数据要不是0,要不是1,以某种组合为例,不管它的值是多少,它的长度就是两个字节,因为反正它是16位的。
2^16种组合为什么就是2^16Byte?
根据数学的知识,16个位,每个位要么是0要么是1,那产生的组合数是不是就是2^16种,即65536种组合。
在这65536种组合中,值最小的是0,值最大的是1111 1111 1111 1111。
假如有65536个门牌号摆在一条直路上,由近到远从0号门牌一直到第65535号门牌。
你从第0号门牌开始往远处走,一直到第65535号门牌,你算一下,是不是走了65536个门牌号。
这就相当于计算机寻址一样,它愿意的话,它可以用这个16位数表示65536个数字。
有一天,8086处理器闲得无聊,它从0开始表示起,每次增加1,一直到65535.
而65536除以1024是不是等于64KB,这就是寻址能力64KB的意思。