进制之间的转换

简介: 说明:进制之间的转换有多种,我只列出自己常使用的方法。十进制:十进制是以 0-9 这九个数字组成的,也是我们日常生活中最常见的数字二进制:二进制是 0 和 1 这两个数字组成的,一般常用于计算机中表示八进制:八进制是 0-7 这八个数字组成的,为了区分,一般开头以 0 开头十六进制:十六进制由 0-9 和A-F 组成,从 A-F 为 10-15,为了区别,开头以 0x 开头

二、八、十六进制转十进制

整数转换:

 

整数部分,从右往左数,按权相加,权即为位权。

即最右边的数为0,往左以此为123.... 。或者从右往左数,第1位的位权为1-1

2 位的位权为 2-1.

 

第一种方法


二进制转十进制


 

例:1001 1001=1*2º+0*2¹+0*2²+1*2³

=1+0+0+8


=9

 

该处是从右往左数的

image.png


 

 八进制转十进制:

与二进制权位相同,只不过由于进制问题,2的几次方要换成 8的几次方


例:64 64=4*8º+6*8¹

=4+48

=52

image.png

 


526:

image.png


例:C874 C=12

C874=4*16º+7*16¹+8*16²+12*16³

=4+112+2048+49152

=51316

image.png

 

第二种方法

 

这种方法其实就是先把数转为二进制,再由二进制转为十进制。

二进制转十进制:

 

例:1111

image.png

按照幂次方进行换算

那按照该图所示,二进制中的1111 对应的分别为 8 4 2 1

image.png

 

所以 1111转为十进制的结果等于 15

 


 八进制转十进制

先把八进制转为二进制,再由二进制转为十进制例如:13

一个八进制数=3个二进制数,首先把 13转为二进制数

1001

3011

13 转为二进制数为 001011,再把该二进制数转为十进制数为:11

所以八进制数13转为十进制数为 11

image.png




十六进制转十进制:

例如:A4 A=10

一个十六进制数=4 个二进制数,首先把A 4 转为二进制数

A1010 40100

A4 转为二进制数为 10100100,再把该二进制数转为十进制数为:164

所以十六进制数A4 转为十进制数为 164

image.png

 

 

带小数转换

 

整数部分依然按上述正常操作,点小数部分要从左往右数,指数为-1开始,以此为-2,-3...


二进制转十进制:

例:1010.1011 1010.1011

=0*2º+1*2¹+0*2²+1*2³+1*-1+0*2-2 +1*2-3 +1*2-4

=2+8+0.5+0.125+0.0625

=10.6875


image.png


 

例:56.14 56.14

=5*8¹+6*8º+1*8-1+4*8-2

=40+6+0.125+0.0625

=46.1875

image.png

 

 

 

 

十六进制转十进制: 

例:A4.13 A4.13

=10*16¹+4*16º+1*16-1+3*16-2

=160+4+0.0625+0.01171875

=164.07421875

image.png

 

 

 

 

 


十进制转二、八、十六进制

 

Ø  我自己将十进制转换其他进制时,都是先把该数转为二进制,再由二进制转为其他进制

 

Ø  具体转为方法参考此图:

 image.png

整数转换:


十进制转二进制:例:123

123=64+32+16+8+3

=01111011

 

 

十进制转八进制:例:123

先把123 转为二进制位 01111011,由三个二进制数等于 1个八进制数得出从右往左数,

不足三位的前面补齐3

 

001 111 011=1 7 3

所以十进制转为八进制为173

 

 

十进制转十六进制:例:123

先把123 转为二进制位 01111011,由四个二进制数等于 1 个十六进制数得出从右往左

数,不足三位的前面补齐4

 

00000111 1011=0 7 11=7b

所以十进制转为十六进制为 7b

 

小数转换:

 

 

 

十进制小数的转换成N 进制小数转为公式为:


  •   N 乘以十进制的小数部分,得到一个积
  •   把积的整数部分取出,再用N 乘以该积的小数部分,得到新的积后
  •   再将新的积整数部分取出,继续用N 乘以新积的小数部分
  •   以此类推...反复进行

该图演示了123.11小数部分转为二进制小数部分的部分步骤,不完全。没有完全做完。

image.png


 

相关文章
30.【十进制和二进制的相互转化(超详解)】
30.【十进制和二进制的相互转化(超详解)】
111 0
创建定长的数字,进制之间转化,二进制,十进制 字符串
创建定长的数字,进制之间转化,二进制,十进制 字符串
|
6月前
两个方法实现 任意两个进制间相互转换
两个方法实现 任意两个进制间相互转换
29 0
两个方法实现 任意两个进制间相互转换
|
6月前
|
C++
十进制二进制相互转化C++
十进制二进制相互转化C++
28 0
【c++】关于数值进制以及进制之间转化
【c++】关于数值进制以及进制之间转化
196 0
【c++】关于数值进制以及进制之间转化
018.任意进制数的转换
018.任意进制数的转换
97 0
C#(二)之十进制与二进制、八进制、十六进制之间的转换
所谓的进制,就是逢几进一的问题,生活中我们使用的是十进制,就是逢十进一。剩下的就不用多说了,下面开始一个一个来。
352 0
C#(二)之十进制与二进制、八进制、十六进制之间的转换
|
开发框架 .NET Java
C#基础——字符串、数字之间的转换
C#基础——字符串、数字之间的转换
450 0
C#基础——字符串、数字之间的转换