0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

为什么计算机需要十六进制?简单聊聊十六进制

strongerHuang 来源:码农的荒岛求生 作者:码农的荒岛求生 2024-02-25 11:47 次阅读

实际上,计算机本身是不需要十六进制的,计算机只需要二进制,需要十六进制的是人。

每个十六进制中的数字代表4个比特,你可以非常直观的从十六进制中知道对应的二进制是啥,比如给定一个十六进制数,假设其最后一位是9,那么你立刻就能知道将该十六进制数字转为二进制后最后四位是1001:

十六进制数字9对应的二进制为1001

十六进制数字19对应的二进制为11001

十六进制数字119对应的二进制为1 00011001

但如果给定一个十进制数字,同样假设其最后一位是9,你知道其对应的二进制吗?显然,你是不知道的。

十进制数字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比特字节开始流行起来,到后来微型计算机出现时也自然采用了这一表示方法。




审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 计算机
    +关注

    关注

    19

    文章

    7325

    浏览量

    87600
  • 十六进制
    +关注

    关注

    2

    文章

    32

    浏览量

    37666

原文标题:为什么计算机需要十六进制?

文章出处:【微信号:strongerHuang,微信公众号:strongerHuang】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    十六进制和八进制转换原理

    本帖最后由 gk320830 于 2015-3-9 01:27 编辑 十六进制和八进制  由于当二进制数的位数很多时书写很麻烦,因此为了减少书写一个数字的位数,在计算机的资料中经
    发表于 04-06 23:54

    求助,一个简单的labview问题,十六进制显示问题

    。读取字符串用十六进制显示,想问下,怎么提取里面的数据,需要十六进制转换成浮点型。可是不点十六进制显示的话显示为乱码,请问怎么变成十六进制
    发表于 10-29 10:58

    十六进制文件校验和计算的方法是什么?

    亲爱的所有论坛成员,我已经为PIC32MX设备实现了Bootloader。为了进行错误处理,我检查了从PC软件接收的每行十六进制文件的校验和。但是我想计算类似于MPLABX IDE的“完整六进制文件
    发表于 08-14 09:58

    字符串转为十六进制软件工具

    字符串转为十六进制软件工具
    发表于 06-30 09:51 453次下载

    十六进制编辑器

    关键词TKStudio,HexEditor,十六进制,编辑器摘 要十六进制编辑器HexEditor是TKStudio附带的辅助工具,用来显示或编辑十六进制文件。
    发表于 11-10 13:31 47次下载

    TKStudio十六进制编辑器用户手册

    十六进制编辑器HexEditor是TKStudio附带的辅助工具,用来显示或编辑十六进制文件。
    发表于 03-11 16:02 13次下载

    十六进制和八进制

    十六进制和八进制   由于当二进制数的位数很多时书写很麻烦,因此为了减少书写一个数字的位数,在计算机的资料中经常采用十六进制或八
    发表于 04-06 23:54 3238次阅读
    <b class='flag-5'>十六进制</b>和八<b class='flag-5'>进制</b>

    进制数与十六进制数的相互转换

    进制数与十六进制数的相互转换 二进制数与十六进制数的相互转换,按照每4位二进制数对应于一位十六进制
    发表于 09-24 11:28 9713次阅读
    二<b class='flag-5'>进制</b>数与<b class='flag-5'>十六进制</b>数的相互转换

    十六进制计算器应用程序免费下载

    本文档的主要内容详细介绍的是十六进制计算器应用程序免费下载。
    发表于 01-07 08:00 17次下载
    <b class='flag-5'>十六进制</b><b class='flag-5'>计算</b>器应用程序免费下载

    一个开源十六进制编辑器刷屏Github,标星6K

    十六进制编辑器,用来以16进制视图进行文本编辑的编辑工具软件。十六进制编辑器可以用来检查和修复各种文件、恢复删除文件、硬盘损坏造成的数据丢失等。它一直是计算机专业人员非常喜欢的工具。
    的头像 发表于 01-14 09:15 3114次阅读

    十六进制数的表示方法

    十六进制数的基数是16,采用的数码是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。其中A-F分别表示十进制数字10-15.十六进制数的技术规则是“逢十六进一”
    的头像 发表于 06-04 11:02 4.1w次阅读

    UltraEdit十六进制编辑器

    UltraEdit不仅仅是一个文本编辑器,它还包括十六进制编辑器模式,有时也称为二进制文件编辑器或字节编辑器。 关键的十六进制编辑功能 十六进制编辑器允许编辑任
    的头像 发表于 05-28 14:16 2611次阅读
    UltraEdit<b class='flag-5'>十六进制</b>编辑器

    单精度浮点数和十六进制相互转换例程(基于LV)

    十六进制字符转成普通字符十六进制字符转成浮点数浮点数转成十六进制字符应用于上位机和PLC通讯的数据转换
    发表于 08-07 15:12 24次下载

    进制、八进制十六进制在现实当中有什么意义?

    进制、八进制十六进制在现实当中有什么意义? 二进制、八进制十六进制在现实生活中有着广泛的应
    的头像 发表于 01-16 11:14 4749次阅读

    十六进制逆变器数据表

    电子发烧友网站提供《十六进制逆变器数据表.pdf》资料免费下载
    发表于 05-23 09:45 0次下载
    <b class='flag-5'>十六进制</b>逆变器数据表