一、二进制
1.进制:人为规定的一种计数规则。
进制也就是进位计数制,是人为定义的带进位的计数方法(有不带进位的计数方法,比如原始的结绳计数法,唱票时常用的"正"字计数法,以及类似的tally mark计数)。 对于任何一种进制---X进制,就表示每一位置上的数运算时都是逢X进一位。 十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。
0 1 2 3 4 5 6 7 8 9
所谓逢十进一,可以理解为当要变成10的时候,一位数字不够表达了,我们可以向前一位借一位,然后地位补0.

2.二进制
二进制:逢二进一的一种计数规则。
是计算中广泛采用的一种进制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”。由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的。计算机中的二进制则是一个非常微小的开关,用1来表示“开”,0来表示“关”。
(1)二进制是什么
(a)进制:一种人为规定的计数规则。
(b)二进制:逢 2 进 1 的一种计算规则。
(2)二进制介绍
(a)在二进制里“基数”只有 0 和 1。
(b)二进制被当前广泛的应用 于计算机当中。(计算机只能读懂0和1)
(3)计算机如何理解0和1
现代计算机都是通电进行工作,当电流走过设备的时候必然会产生电压,此时就人为的设定规则,取了一个电压值,比这个值大的叫高电位,用数字1表示,比之值值小的叫低电位,用数字0表示。基于这种原理,此时的计算机可以认识0和1了。刚好0与1又是二进制当中的基数。(计算机应用了二进制)。
(4)计算机采用二进制的好处
(a)二进制技术实现简单,状态稳定。
(b)二进制里只有0和1两个基数,刚好与程序语言当中的“真”和“假”对应。(全世界都人为的认为1可以代表程序语言当中真,0可以代表程序语言当中的假)。
(c)二进制数值可以很容易的转换成十进制。
3.常见的数学进制
(1)二进制:基数是0、1,逢二进1
(2)八进制:基数是0~7,逢八进1
(3)十进制:基数是0~9,逢十进1
(4)十六进制:基数是0~9、A、B、C、D、E、F,逢十六进一

4.常用进制的换算

其它进制转十进制与该方法类同
①先确定当前数字的位数,然后从右向左数,依次是低位到高位;
②记下每位数字所在位数N(由当前所在位数决定);
③取出每一位上的数字m,然后用这个 m (m不是一个固定数字,它是当前位上锁具有的数字)去乘以当前进制的 N-1 次方;
④将每位上的相乘结果进行相加,最后的和据说该数值所最有的十进制。
(1).二进制转十进制
方法:按权运算。 例如10101(2)——>?(10)
从左至右:1*2^(5-1)+ 0*2^(4-1)) + 1*2^(3-1) + 0*2^(2-1)+1*2^(1-1) = 21

(2).十进制转二进制
常见的方法——短除法:
(a)用这个十进制的数值除以2,得到一个商和余数;
(b)判断当前的商是否为0,如果这个商不为0,那么继续用这个商除以2;
(c)直到某一次商为0时结束,我们需要的就是将这个除法过程中产生的余数从后往前反向排列;
(d)最终的排列结果就是当前这个十进制转换成二进制的数值。
例如34(10)——>?(2)
34 / 2 =17 余0
17 / 2 = 8 余1
8 / 2 =4 余0
4 / 2 =2 余0
2 / 2 =1 余0
1 / 2 = 0 余1
结果就是余数从下往上写 即100010,其余进制转二进制可以先转十进制,再转二进制

(3).十进制转八进制
使用短除法,具体参考十进制转二进制

(4)八进制转十进制
方法:按权运算(同二进制转十进制的方法相同)
eg:八进制120转换成十进制
1*8^2+2*8^1+0*8^0=80
(5)其它进制转换十进制
(a) 先确定当前数字的位数,然后从右向左数,依次认为是低位到高位。
(b)记下每位数字所在的位数N(N不是一个固定的数字,由当前所在位数决定)。
(c)取出每一位上的数字m,然后用这个m去乘以当前进制的N-1次方。(m不是固定的,它是当前为上的数字)
(d)将每位上的香橙结果进行相加,最后的和就是该数值所对应的十进制值。
eg:11101 这是一个5位数的二进制数字,转化成十进制
1*2^(5-1)+ 1*2^(4-1)) + 1*2^(3-1) + 0*2^(2-1)+1*2^(1-1) = 29
可通过在线进制转换工具(https://www.sojson.com/hexconvert.html)进行验证.
(6)其它进制转二进制
(a)八进制转二进制
i)将八进制当中的所有基数都转换成二进制(注意八进制转换成二进制候,需要用三位数来表示。如:0是八进制的那么在用二进制表示的时候要写成000)
ii)将转换的的数值进行拼接。
iii)0------000
1------001
2------010
3------011
4------100
5------101
6------110
7------111
120——001 010 000
(b)十六进制转二进制
i)将十六进制中的所有基数转成二进制(注意十六进制转换成二进制候,需要用四位数来表示。如:0是十六进制的那么在用二进制表示的时候要写成0000);
ii)将转换的的数值进行拼接。
0------0000
1------0001
2------0010
3------0011
4------0100
5------0101
6------0110
7------0111
8------1000
9------1001
A------1010
B------1011
C------1100
D------1101
E------1110
F------1111
EF(十六进制的数值),转换成二进制后的结果是:1110 1111
浙公网安备 33010602011771号