2,8,10,16进制转换
先上个例子,方便以后复习,例子看不明白,说明算法已经忘了,再看详细分解
2->8 (1000)2 = 分解为001.000 左边=0*2^2+0*2^1+1*2^0=1 右边=0*2^2+0*2^1+0*2^0=0, 最终得10
2->10 (1000)2 = (1*2^3+0*2^2+0*2^1+0*2^0)10 = (8)10
2->16 (1000)2 = (8)16 15为1111,按8421计算得到8
8->2 (10)8 = 各位分开除2, 左边=1/2=(00)1 右边=0/2=0(00), 最终得1000
10->2 (8)10 = 除2取余,将结果翻转 8/2=4, 4/2=2, 2/2=1, 1/2=0余1, 最终得1000
16->2 (8)16 = 每个数当成一个4位,最后拼凑 根据8421=1111=F得到1000
下面是2和8加2,10,16的相互转换
(一).2->8
转换方法:三位合一位。以小数点为基准.
对于整数部分,从右向左,三位一组,不足三位前面补0;
对于小数部分,从左向右,三位一组,不足三位后面补0。
二进制: 111011
分组: 111.011
计算: 小数点左边=1*2^2+1*2^1+1*2^0=7 小数点右边=0*2^2+1*2^1+1*2^0=3
结果: 73
附11111算法
011.111 = 0*2^2+1*2^1+1*2^0=3 右边 1*2^2+1*2^1+1*2^0=7 ->37
(二).8->2
分开位数除2,补全3位
八进制: 73
7除以2: 7/2=3余1
3/2=1余1
1/2=0余1
3除以2: 3/2=1余1
1/2=0余1
二进制: 111(0)11
37转2进制=(0)11111
(三).10->2
十进制: 57
十进制转换二进制方法: 除2取余,将结果翻转
(57/2 28余1) 1
(28/2 14) 0
(14/2 7) 0
(7/2 3余1) 1
(3/2 1余1) 1
(1/2 0余1) 1
二进制: 111001
(四).2->10
二进制: 111011
个位数: 是1,1*2^0=1
十位数: 是0,0*2^1=0
百位数: 是0,0*2^2=0
千位数: 是1,1*2^3=8
万位数: 是1,1*2^4=16
10万位: 是1,1*2^5=32
10进制: 1+0+0+8+16+32=57
(五).2->16
二进制: 111001
16进制基数: 0-9,A(10),B(11),C(12),D(13),E(14),F(15)
16进制和2进制的对应关系
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
规律 : 1111对应的15即F = 2^3 + 2^2 + 2^1 + 2^0 = 8 + 4 + 2 + 1
15: 1111 = 8 + 4 + 2 + 1
14: 1110 = 8 + 4 + 2
13: 1101 = 8 + 4 + 1
12: 1100 = 8 + 4
11: 1011 = 8 + 2 + 1
10: 1010 = 8 + 2
9: 1001 = 8 + 1
8: 1000 = 8
7: 0111 = 4 + 2 + 1
6: 0110 = 4 + 2
5: 0101 = 4 + 1
4: 0100 = 4
3: 0011 = 2 + 1
2: 0010 = 2
1: 0001 = 1
0: 0000 = 0
只要会算8421的加法,就能算出对应的0-15的2进制值
将2进制每4位分组(不足4位高位补0): 0011.1001
其中0011为3
其中1011为9
16进制: 39
(六).16->2
16进制: 39
每个数当成四位二进制转换,最后拼凑起来
3对应0011,9对应1011, 拼凑起来为00111001,去掉高位的0最终结果111001
(七).10->16
除以16
10进制: 57
57/16 3余9
除不尽16,终止,最后得39
(八).16->10
和2进制转10进制类似,权重乘以16的0次方累加
16进制: 39
9*16^0 = 9
3*16^1 = 48
10进制: 9 + 48 = 57
end
如果想将8和10,16相互转换,可以先将其转换为2进制再转
16进制
十六进制(英文名称:Hexadecimal),是计算机中数据的一种表示方法。
同我们日常生活中的表示法不一样。它由0-9,A-F组成,字母不区分大小写。
与10进制的对应关系是:0-9对应0-9;A-F对应10-15;N进制的数可以用0~(N-1)的数表示,超过9的用字母A-F。
上一篇: 记录一次微擎小程序 MiniProgramError params is not defined ReferenceError: params is not defined
下一篇: 荐 布加迪奇龙Blender雕刻、shading,并导入Three.js ,3DWEB模型【Three.js+Blender建模+web前端+可视化】
推荐阅读
-
object转date类型(python将object转换成日期型)
-
android byte[] 和short[]转换的方法代码
-
word转换pdf格式软件免费版(电脑pdf转word软件推荐)
-
Allavsoft怎么激活 Allavsoft(专业视频下载转换工具)激活图文
-
万兴优转如何转换VR视频?VR视频格式转换的方法介绍
-
Epubor Ultimate如何激活?电子书格式转换器Epubor Ultimate英安装激活图文教程
-
苹果USB-C转3.5mm米耳机孔转换头测试:兼容性极佳
-
angularJs中json数据转换与本地存储的实例
-
jsonobject解析json字符串特别慢(json格式转换文本的方法)
-
flash怎么分离文本? flash将文字转换为形状的教程