【各种进之间的转换】

简介: 【各种进之间的转换】

进制之间的转换

前言:
二进制(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.二进制(B)<=>十进制(D)

二进制数1100100.101->十进制数:

方法:按权展开

十进制数100.625->二进制数:

方法:整数部分:除2取余;小数部分:乘2取整

注意:小数部分取余规则,直到乘积的小数部分为零,或是个数超过计算精度(一般为十六位)

2.十六进制(H)<=>十进制(D)

十六进制数1100100.101->十进制数:

方法:按权展开

十进制数100.625->十六进制数:

方法:整数部分:除16取余;小数部分:乘16取整

注意:小数部分取余规则,直到乘积的小数部分为零,或是个数超过计算精度(一般为十六位)

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

三、二进制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

相关文章
|
2月前
|
Python
不同数据类型之间能否随意转化
不同数据类型之间能否随意转化。
29 5
|
4月前
|
C++
C++(十六)类之间转化
在C++中,类之间的转换可以通过转换构造函数和操作符函数实现。转换构造函数是一种单参数构造函数,用于将其他类型转换为本类类型。为了防止不必要的隐式转换,可以使用`explicit`关键字来禁止这种自动转换。此外,还可以通过定义`operator`函数来进行类型转换,该函数无参数且无返回值。下面展示了如何使用这两种方式实现自定义类型的相互转换,并通过示例代码说明了`explicit`关键字的作用。
|
5月前
|
缓存 分布式计算 数据处理
|
5月前
|
安全 前端开发 Java
|
7月前
|
安全 C语言 C++
数与字符串相互转化
数与字符串相互转化
33 1
|
8月前
|
C语言
LabVIEW局部变量和值属性节点之间的区别
LabVIEW局部变量和值属性节点之间的区别
153 0
|
安全
RxSwift特征序列Driver的使用,以及共享附加作用与非共享附加作用的区别?
RxSwift特征序列Driver的使用,以及共享附加作用与非共享附加作用的区别?
185 0
|
JavaScript 索引
数据类型及相互规则转换,我被问麻了!!!
数据类型及相互规则转换,我被问麻了!!!
113 2
|
数据安全/隐私保护 异构计算
FPGA设计8位十进制计数器异步/同步模块以及m序列码产生器模块
本文主要介绍了FPGA设计8位十进制计数器异步/同步模块以及m序列码产生器模块
1312 0
FPGA设计8位十进制计数器异步/同步模块以及m序列码产生器模块
|
机器学习/深度学习 算法 Java
【每日算法】根据相邻关系还原数组的两种方式:「单向构造」&「双向构造」 |Python 主题月
【每日算法】根据相邻关系还原数组的两种方式:「单向构造」&「双向构造」 |Python 主题月