问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

两分钟学会二进制、十进制、十六进制

创作时间:
作者:
@小白创作中心

两分钟学会二进制、十进制、十六进制

引用
1
来源
1.
https://www.zhuanlanjia.com/post/227

在计算机的世界中,所有内容都会转化成0和1组成的二进制数。那么,二进制是如何进行运算的?它与十进制之间又是如何相互转换的呢?本文将为您详细介绍二进制的原理及其转换方法。

在介绍二进制之前,我们先来看一下十进制。十进制使用0到9这10个数字来表示,也就是说,当数字达到10时就会进一位。例如,十进制中的10表示的是一个十和零个一。

二进制、十进制和十六进制的主要区别在于它们使用的符号数量不同:

  • 二进制只使用0和1两个数字来表示。
  • 十进制使用0到9这10个数字来表示。
  • 十六进制使用0到9这10个数字和A到F这6个字母来表示。

接下来,我们看一下二进制是如何运算的:

从上图可以看出,十进制中的3用二进制表示需要两位数,即11。同样地,十六进制中的F用十进制表示需要两位数,用二进制表示则需要四位数。

那么,在计算机的世界中,为什么使用二进制数呢?这是因为计算机的核心部件是CPU,而CPU是由数以亿计的晶体管构成的。CPU能够正常工作,是由这些晶体管通电和不通电两种状态来决定的。我们可以将一个灯泡看作一个晶体管,它有两种状态:通电时亮,断电时灭。这种通电和不通电的状态分别对应二进制数中的0和1,因此计算机的底层会使用二进制来表示。

在网络传输过程中,通常使用比特(bit)来表示传输速率。例如,查看网卡最大速率的命令行输出如下:

[root@test ~]# ethtool bond0
Settings for bond0:
        Supported ports: [ ]
        Supported link modes:   Not reported
        Supported pause frame use: No
        Supports auto-negotiation: No
        Supported FEC modes: Not reported
        Advertised link modes:  Not reported
        Advertised pause frame use: No
        Advertised auto-negotiation: No
        Advertised FEC modes: Not reported
        Speed: 2000Mb/s
        Duplex: Full
        Port: Other
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: off
        Link detected: yes  

这里网卡速率是2000Mb/s,即2Gb/s。

在存储领域中,1KB通常表示1千字节。一个字节(Byte,B)由8个比特(bit,b)组成,因此1KB等于8 * 1024 = 8192比特(bit),或者等于1024个字节(Byte)。这个单位常常用于测量计算机硬件和数据存储设备的存储容量,如硬盘、内存、U盘等。

需要注意的是,存储设备的实际容量比标称容量要小,因为存储设备厂商在计算容量时通常采用10进制(即1000进位),而不是2进制(即1024进位)的计算方式。因此,实际的存储容量会比标称容量小一些。

最后,我们总结一下什么是进制:说白了就是满了就进一位数。十以外的进制无处不在,特别是在时间单位的表达上尤为明显:

  • 比如分秒时就是60进制
  • 时和天之间是24进制
  • 天和周之间是7进制
  • 天到月是28/29/30/31进制不等
  • 月到年是12进制
  • 天到年是365.25进制,或者说是365/366进制
  • 年和世纪是100进制
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号