1、进制的由来
- 进制越大表达形式越简洁
2、进制的特征
- 二进制:由 0 ,1 组成。由 0b开头。 8bit就是计算机底层二进制的形式
- 八进制:由 0 ,1…7 组成 。以 0 开头。
- 十进制:由0 ,1…9组成。整数默认十进制。
- 十六进制:由0,1…9,a,b,c,d,e,f(大小写均可)组成,由0x开头 这里的a代表10,b代表11,c代表12。
3、其他进制转换为十进制
(***只针对于其他进制转换为十进制***)
举例:整数 12345 括号(n*n)括起来的表示 n的n次方
x :表示数学中的乘号。
(十进制倒十进制 从中你可以看出什么👇)
12345 = 1x(10*4)+2x(10*3)+3x(10*2)+4x(10*1)+5x(10*0)
12345 = 10000+2000+300+40+5
12345 = 12345
仔细查看算式得出。
1.系数 ↓
(每一位上的数值就代表系数 例如 1,2,3,4各自都代表系数。)
2.基数 ↓
(要进行x进制换算 的基数就是x,8进制的系数就是 8)
3.权 ↓ :重点
(针对每一个位子上的数据进行编号 *从左边依次是 4,3,2,1,0* )
-:每一个位子上的 系数x(基数*权次幂)相加 就得出想要的进制数据。
4、实例
1.二进制100 转换十进制:
1x(2*2) + 0x(2*1) + 0x(2*0)
=4+0+0
=4
-----------------------------------------
2.八进制100 转换十进制:
1x(8*2) + 0x(8*1) + 0x(8*0)
=64+0+0
=64
------------------------------------------
3.十六进制100 转换为十进制:
1x(16*2) + 0x(16*1) + 0x(16*0)
=256+0+0
=256
4.练习题01:0b开头一看就是二进制
0b10101
=1x2*4 + 1x2*2 + 1x2*0
=16+4+1
=21
5.联系题02:0开头一看就是八进制
0123
=1x8*2 + 2x8*1 + 3x8*0
=64+16+3
=83
6.练习题03:0x开头一看就是十六进制
0x3c
=3x16*1 + cx16*0
=48+12
=60
5、十进制到任意进制
- 1.技巧 :除基取余数 直到商位0 余数反转
举例整数十进制 20 转换为 八进制
20/8
=2…4
=0…2
=24
再由八进制的24转换为十进制
= 2x8 *1 + 4x8 *0
= 20 - 2.由此得出结论:
1.如果要(转换的进制 )比(原来的进制大)那么转换后的结果越小。
2.相反则:如果要(转换的进制 )比(原来的进制小)那么转换后的结果越小。
7、十进制与二进制之间的转换
- 1.因为i计算机底层。存的是二进制数据 而我们平时用的整数就是十进制的数据所以这两者之间要熟练
- 2.0 所以推出快速转换方式 8421码
84221码是虫国大陆的叫法,8421 码是BCD代码中最常用的一种。 在这种编码方式中每一位二进制代码的值1都是代表一个固定数值, 把每一位的1代表的十进制数加起来,得到的结果就是它所代表的十进制数码
如图所示 每个二进制在十进制都有一个整数来表示
1.举例: 二进制的 0b11100011
11100011
=128+64+32+2+1
=227
十进制的227就是.二进制的0b11100011
转换为十进制 : 从右边看 如果是1就代表包含8421码里的值如果是0就不包含最后把值 相加 就得出十进制数据。
2.注意二进制中的 0在左边可以省略在中间或右边不能省略
3.十进制转换为二进制:也特别简单
~~
举例:十进制 520转换为2进制
如果十进制的数 大于二进制的128太多那么可以除于128.
(520/128)=4....8
那就可以得出二进制数据为
十进制 11111000
证明:十进制转二进制
128+64+32+16+8=520
重要结论:转换为二进制 主要十进制看包含不包含 8421码里面的值包含哪一位就是 1不包含就是0 如果包含还比8421码里的值大,那就减去8421码里的值继续往下比如果比下一个值小就是0 (大就是1如果大的话就在减在比) 直到出结果
- 超级问题 任意的x进制到任意的y进制 会转换吗?
- 答案1:把任意的 x 进制转换为十进制 。再由十进制转换为任意的 y 进制就可以了。
- 答案2:举例 二次方 0b1110010转换为八次方
1110010
从右边三个一组 001 110 010 不够补0
先把三个分别转换为十进制
1+6+2
=162
八进制的就是 162
转换16进制自己琢磨把。。看第一张图