今天简单聊聊十六进制 。
实际上计算机本身是不需要十六进制的,计算机只需要二进制,需要十六进制的是人 。
每个十六进制中的数字代表4个比特,你可以非常直观的从十六进制中知道对应的二进制是啥,比如给定一个十六进制数,假设其最后一位是9 , 那么你立刻就能知道将该十六进制数字转为二进制后最后四位是1001:
- 十六进制数字9对应的二进制为1001 。
- 十六进制数字19对应的二进制为1 1001 。
- 十六进制数字119对应的二进制为1 0001 1001
- 十进制数字9对应的二进制为1001 。
- 十进制数字19对应的二进制为1 0011 。
- 十进制数字119对应的二进制为111 0111 。
因此我们可以得出结论:
十六进制是二进制的好朋友,但十进制不是那为什么十六进制是二进制的好朋友呢?
关键在于进制数16是2的4次方,2^4 = 16,而进制数10并不是2的整数次幂,因此8进制(2^3),16进制(2^4),32进制(2^5),64进制(2^6)等等都是二进制的好朋友 。
有的同学肯定会问 , 那么为什么我们不使用32进制呢?
使用32进制,每5个比特位可以用一个32进制数字来表示,由于人类的数字系统只有0~9,因此在16进制中10是字母a来表示的、11:b、12:c、13:d、14:e、15:f , 但如果我们使用32进制,那么16:g、17:h.......31:v,这时给一个32进制数字“Apple”,你的大脑可能会一团浆糊,但十六进制对人类来说基本可以应付得来,原因就在于16进制中人类熟悉的数字占据了10个,剩下的只借用了6个字母,还算简单 。
因此32进制及以上都不太适合给人使用,原因就在于:
可读性太差 。此外使用十六进制还有一个重要原因:
一个字节有8个比特我们知道内存是按照字节粒度来寻址的,因此采用的数字系统必须很好的表达一个字节,也就是8比特,从这个角度上看256进制(2^8)是最好的 , 因为一个256进制就是表达一个字节,但还是基于可读性的原因,256进制对于人类来说记忆负担过重 , 而16进制则刚刚好,一个16进制数字表示一个字节的一半(4个比特),两个16进制数字正好表示一个字节 。
那为什么一个字节有8比特而不是7比特或者9比特呢?其实答案很简单:
【为什么计算机需要十六进制?】历史原因要知道早期的计算机可不是一个字节8比特,那时一个字节4比特、6比特或者7比特的都有 。
但4比特或者6比特还是太受限制,因为我们需要把字母数字以及标点符号等等转为二进制表示,4比特或6比特能表示的数量太少 。
到了1963年,ASCII正式提出 , 该标准使用7比特来表示字符,但当时的IBM System/360大型机采用了8比特字节,使得8比特字节开始流行起来 , 到后来微型计算机出现时也自然采用了这一表示方法 。
现在你应该明白了吧 。
推荐阅读
- 计算机视觉:重塑人类感知的革命性技术
- 抖音文玩手串类目怎么开通?需要哪些条件?
- 手机为什么总提示系统更新?背后隐藏着什么秘密?看完终于明白了
- 新号码为什么注册不了微信
- 注册天猫店铺需要什么条件 注册天猫店铺需要什么条件呢
- 新员工入职需要准备什么,星巴克入职要准备哪些材料
- 桶装水20天了烧开能喝吗为什么 桶装水20天了烧开能喝吗
- 同样是现偶,为什么《在暴雪时分》不火,《亲爱的,热爱的》大爆
- 84消毒液拖地后要马上擦干净不 84消毒液拖地后还需要用清水拖一遍吗
- 越南为什么有将近一半的人姓阮,越南为什么这么多人姓阮