进制相互转换方法

简介: 进制相互转换方法

进制相互转换方法


10进制转2进制


方法一: 除2取余,至0为止


方法二:按权位分配


  • 可以很明显的看出,方法二比方法一快很多,且只需要计算加减法,推荐。
  • 只需熟记一个数由哪些2进制权位数相加,便可快速计算出其2进制。例:10由8和2相加得到,8和2分别是第二位和第四位(从右数),所以10的二进制为1010。
  • 熟记16以内的二进制数转换,便于2转8和2转16进制的使用。

类似的,这两种方法不止可用于10进制转2进制,还可用于转为8进制和16进制,方法原理相同,不同的只是除数和权值。


取余法:

  • 10进制转2进制,除2取余
  • 10进制转8进制,除8取余
  • 10进制转16进制,除16取余


权位法:

  • 10进制转2进制,权位自右向左分别为2的0次方、2的1次方、2的2次方、2的3次方……
  • 10进制转8进制,权位自右向左分别为8的0次方、8的1次方、8的2次方、8的3次方……
  • 10进制转16进制,权位自右向左分别为16的0次方、16的1次方、16的2次方、16的3次方……


注意:因为2进制只有0和1,乘以1的也就省略了。但是8进制和16进制不一样,不止0和1,当位大于2时,要乘以相对应的位值。


例: 76转8进制

76 - 64*1 = 12
12 - 8*1 = 4
 4 - 1*4 = 0
 
64    8    1
 1    1    4

所以76的8进制为 114

2进制转10进制


2进制转8进制


2进制转16进制

相关文章
|
20天前
两个方法实现 任意两个进制间相互转换
两个方法实现 任意两个进制间相互转换
12 0
两个方法实现 任意两个进制间相互转换
|
2月前
|
Java
Java实现十进制到各种进制的转换
这段代码可以让用户输入一个十进制数,然后将其转换为二进制、八进制和十六进制表示。实现了基本的转换功能,满足你的要求。
25 0
|
2月前
|
机器学习/深度学习 Java 程序员
Java基础之二进制,八进制,十进制,十六进制相互转换
Java基础之二进制,八进制,十进制,十六进制相互转换
|
5月前
|
C语言
C 语言实例 - 二进制与十进制相互转换
C 语言实例 - 二进制与十进制相互转换
34 2
|
5月前
|
C语言
C 语言实例 - 八进制与二进制相互转换
C 语言实例 - 八进制与二进制相互转换
45 2
|
5月前
|
C语言
C 语言实例 - 八进制与十进制相互转换
C 语言实例 - 八进制与十进制相互转换
29 2
|
11月前
16进制和字符串互转 #65
16进制和字符串互转 #65
87 1
【进制转换】— 包含整数和小数部分转换(二进制、八进制、十进制、十六进制)手写版,超详细
【进制转换】— 包含整数和小数部分转换(二进制、八进制、十进制、十六进制)手写版,超详细
|
Java
二进制、八进制、十六进制、十进制任意进制的转换(Java语言)
二进制、八进制、十六进制、十进制任意进制的转换(Java语言)
138 0