【各种进之间的转换】

进制之间的转换

前言:
二进制(B):0,1
八进制(O) :0,1,2,3,4,5,6,7,8
十进制(D):0,1,2,3,4,5,6,7,8,9
十六进制(H):0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

一、 进制之间的转换关系图

【各种进之间的转换】_第1张图片所有进制转换都可以以十进制当作转换枢纽,先转换位十进制,在转换为其余想要转换的进制。二进制到八进制,到十六进制有快速转换方法,下面会说到。

二、 二进制(八进制,十六进制)与十进制之间的相互转换

1.二进制(B)<=>十进制(D)
二进制数1100100.101->十进制数:
方法:按权展开
在这里插入图片描述
十进制数100.625->二进制数:
方法:整数部分:除2取余;小数部分:乘2取整

【各种进之间的转换】_第2张图片
注意:小数部分取余规则,直到乘积的小数部分为零,或是个数超过计算精度(一般为十六位)
2.十六进制(H)<=>十进制(D)
十六进制数1100100.101->十进制数:
方法:按权展开
在这里插入图片描述

十进制数100.625->十六进制数:
方法:整数部分:除16取余;小数部分:乘16取整
【各种进之间的转换】_第3张图片
注意:小数部分取余规则,直到乘积的小数部分为零,或是个数超过计算精度(一般为十六位)

其他的与其原理相通,就不一一列举。

三、二进制and八进制and十六进制 之间的转换

1、二进制转为八进制(把二进制数从右向左每3位分为一组,不足左边补0,如果是负数记得最后结果加上符号)

八进制 0 1 2 3 4 5 6 7
二进制 000 001 010 011 100 101 110 111

根据上表三位一组,01101001 为 001<1>、101<5>、001<1>,对应的八进制分别为151
2、二进制转为十六进制(把二进制数从右向左每4位分为一组,不足左边补0,如果是负数记得最后结果加上符号)

十六进制 0 1 2 3 4 5 6 7 8
二进制 0000 0001 0010 0011 0100 0101 0110 0111 1000
十六进制 9 A B C D E F
二进制 1001 1010 1011 1100 1101 1110 1111

根据上面四位一组,01101011 为 0110<6>、1011,对应十六进制即6B

你可能感兴趣的:(算法)