数制转换


前言

在网络中传输的各式各样的信息,都是依靠一种基本的数制计算方法——二进制表示

我们可以这样形象的理解,在人类的世界里,通常采用十进制方法计数,而在网络世界里,计算机通常采用二进制方法计数
为了在人类世界和网络世界之间架起桥梁,我们需要学习数制转换

在日常生活中我们最常使用的是十进制,基数是10,因为人有10根手指,数完就要考虑进位了;南美的印第安人数完手指数脚趾,所以他们使用二十进制;北美是五进制手指计数法的起源地,至今都还有人使用;最早采用六十进制的是古巴比伦人,1小时等于60分钟,1分钟等于60秒,圆周角为360°,每度60分

当然了,世界上大多数地区还是采取十进制的,有0~9个数字符号,逢十进一
二进制与十进制类似,但是其技术是2,只有两个数字0和1,逢二进一


一、数制的概念

数制是计数的方法,指用一组固定的符号和统一的规则来表示数值的方法

既然有不同的进制,那么在给出一个数时,就需要指明它是什么数制里的数,对不同的数制,可以给数字加上括号,使用下标来表示该数字的数制(当没有下标时默认为十进制)

数制转换
在数制中,还有一个规则,就是N进制必须是逢N进一

  • 十进制的特点是逢十进一,例如:
    (1010)10=1×103+0×102+1×101+0×100=1010
  • 二进制的特点是逢二进一,例如:
    (1010)2=1×23+0×22+1×21+0×20=(10)10
  • 十六进制的特点是逢十六进一,例如
    (1010)16=1×163+0×162+1×161+0×160=(4112)10

二、数制转换

1、二和十进制的转换

这里推荐两种转换算法

  1. 除法(余数倒排)

数制转换

125=1111101B

  1. 减法

数制转换

将数值减去2的最高次方的数值,可以减去取1,不可以减去取0,以此类推一直到20

常见的八位二进制数
数制转换
上表记忆方法:从第一个128开始逐次加上64、32、16、8、4、2、1

2、二进制和八进制、十进制、十六进制的转换

二、八、十、十六进制转换表:

数制转换


三、二进制的优点

在数字计算机的发展历程中,一个重大的设计进步就是引用了二进制作为内部的数字系统
这种方式避免了那些基于其他数制的计算机中必须的的、复杂的进位机制,简化了算术功能和逻辑运算的设计实现
同时,采用二进制可以充分发挥电子器件的工作特点,使结构紧凑且更通用化

  1. 二进制容易实现
    计算机是由电子元器件构成的,而二进制在电子、电子元器件中最易实现
    二进制只有两个数字,用两种稳定的物理状态即可表达,而且稳定可靠,如磁化和未磁化
    若采用十进制,则需十种稳定的物理状态来表达十个数字,具有这种性能的元器件很难找到
    即使有,其运算和控制的实现也很难

  2. 二进制的运算规则简单
    加法是最简单的运算,乘法是连加,减法是加法的逆运算,除法是乘法的逆运算
    其他任何复杂的数值计算也都可以分解为基本算数运算来进行,为了提高运算效率,在计算机中除采用加法器外,也可以直接使用乘法器
    十进制的加法和乘法运算规则口诀各有100条,用计算机的电路去实现这么多运算规则是很复杂的
    相比之下,二进制的算法运算规则非常简单,加法、乘法各四条
    0+0=0 0×0=0
    0+1=1 0×1=1
    1+0=1 1×0=0
    1+1=0 1×1=1
    根据交换率去掉重复项,实际各三条,用计算机的脉冲数字电路很容易实现

  3. 二进制容易实现逻辑运算
    计算机不仅要具备数值计算功能,还要具备逻辑运算功能,二进制的0和1分别可以代表假和真,很容易实现逻辑运算

二进制的主要缺点是表示同样大小的数值时,其位数比十进制或其他数制多很多,难写难记,因此在日常生活中和工作重视不便使用的
但这个缺点对于计算机而言不构成困难,在计算机中,每个存储记忆元件(由晶体管组成的触发器)可以代表一位数字,“记忆”是它们本身的属性,不存在“记不住”或者“忘记”的问题
至于位数多的问题只要对排列一些记忆元件就能解决,鉴于在集成电路芯片上元件的集成度极高,因此在体积上不存在问题
对于电子元器件,0和1两种状态的转换速度极快,因而运算速度很高