进制转换

内容较为通俗,☺

十进制   ---- 逢十进一 (共有10个数,0,1,2,3,4,5,6,7,8,9)

数据递增方式

0 1 2 3 4 5 6 7 8 9   下面要逢10了,则进一

10 11 12 13 14 15 16 17 18 19  又要逢10了,进一

20 。。。 29

。。。

90 。。。99 又要进一,连续两次

个位数进一变位   90,进上的1加上十位的9又要进一故为  100

 

二进制  满二进一(共有0,1两个数)

数据递增方式

0  1   下面要满2了,进一

10 11  下面要满2了,进一,由于倒数第二位也是1,加上进上了来的1,也满2了,又要进1

100 101  110 111  ------》 连续三个满二进一   因此为    1000

 

十进制数据的0-8对应二进制的数据对照

十进制   ---  二进制

1                     1

2                   10 

3                   11

4                 100

5                 101

6                 110

7                 111

8               1000

9               1001

。。。

 

 所谓的8241方法,针对二进制转为十进制的时候有用。

0000    1111    

0000    8421   

比如:   100就是十进制的4   1111就是 十进制的 8+4+2+1=15也相当于 (2的三次方+2的平方+2的一次方+2的零次方)

11110    10进制数据为   2的四次幂+2的三次幂+2的平方+2的一次方 (末尾为0,不用累积),这个数据十进制为 16+8+4+2=30

 

八进制  满八进一(共有八个数据   0,1,2,3,4,5,6,7)

数据递增

0,1,2,3,4,5,6,7  满八需要进一

10 11 12 13 14 15 16 17 

20 。。。  27

。。。

70 。。。 79

100 。。。107   110   。。。 117   200 。。。

 

十进制的19用八进制如何表示呢

由于数据比较小,我们可以使用最简单的方法,数数

十进制 : 0 1 2 3 4 5 6 7       8       9     10       11    12     13     14    15      16      17    18    19

八进制 : 0 1 2 3 4 5 6 7      10     11    12       13    14     15     16    17      20      21     22    23

 

可以看到19(10) =  23(8)

当然取余更简单

19/8  =  2 ...  3

2/8    =  0 ...  2

从小网上读取余数即为 23

 

十六进制   满16进一(共有16个数据,0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f)

数据递增

0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f  

10  11  12  13 ... 1f   

20  ...   2f

...

f0 ... ff

100 ...

 

   十进制数据:0 1 2 3 4 5 6 7 8  9   10   11    12     13     14    15      16      17    18    19

十六进制数据:  0 1 2 3 4 5 6 7 8  9    a     b      c       d       e      f         10      11    12    13

 

十进制向各个进制的转换只需要除以各个进制的数据,进行取余操作,然后从下到上连接起来即可

取余操作直到商为0即可停止

比如十进制的19

转化为二进制

19/2 = 9  ...  1

9/2   = 4  ...  1

4/2   = 2  ...  0

2/2   = 1  ...  0

1/2   = 0  ...  1

从下到上取值连在一块为    10011  因此  19(10)=  10011(2)

 

转化为八进制

19/8 = 2  ...  3

2/8   = 0  ...  2

因此  19(10)= 23(8)

 

转化为十六进制

19/16 = 1 ...3

1/16   = 0 ...1

因此   19(10) =  13(16)

 

二进制转化为十进制

小数据可以直接使用8421方法直接累积

针对2的多少次幂进行累加

比如:

随便写一个数据    1100 1111

这个数据转化成十进制就是

从末尾累积,如果1存在就是底数为2的对应的多少次幂存在

2的0次幂+2的一次幂+2的平方+2的三次方+2的四次幂+2的七次幂+2的八次幂

结果为:1+2+4+8+64+128 = 207

所以    11001111(2)=   207(10) 

 

二进制转化为八进制

比如还是   1 1100 1111

这里直接转成8进制不好转化,可以先行转化为10进制然后在转化为8进制

 

十进制数据为207转化为八进制,可以进行取余操作

207/8 = 25  ...   7

25/8   =  3   ...   1

3/8     =  0   ...   3

因此数据为   317 

即    11001111(2)=  317(8) 

 

二进制转化为十六进制

同样可以先行转化为十进制再次转化为十六进制

数据还是使用   1 1100 1111 一般为四位不足补0,因此大多数时候写成  0001   1100  1111

 

进行取余操作

207/16 = 12  ...  15

12/16   =  0   ...  12

十进制的15对应十六进制的F

十进制的12对应十六进制的C

因此    11001111(2)=  CF(16)

最简单的方法是   1100 1111 这两个数字对应十进制的12 和 15,因此为 C和F

 

八进制转化为二进制

比如  上面的317

如何转化呢?

思路1:先行转化为十进制再次转化为二进制

317,末尾上没有满八,末二位上有个1,说明末尾有过一次满八进一,末三位上有个3说明,末二位上有过三次满八进一,

因此 转化为10进制,该数据为:

7+1*8+3*8*8=207

 

十进制转化为二进制也是看余数,从下往上看

207/2 = 103  ...  1

103/2  = 51  ...   1

51/2    =  25 ...   1

25/2    =  12  ...  1

12/2    =  6    ...  0

6/2      =  3    ...  0

3/2      =  1    ...  1

1/2      =  0    ...  1

因此十进制的207转化为二进制的数据为   1100 1111

所以   317(8)= 207(10)= 1100 1111(2)

 

八进制转化为十六进制

思路1:先行转化为10进制再次转化为16进制

同上可以知道八进制的317转化为10进制为207

那么10进制如何转化为16进制呢,可以看上面所需,也是直接取余操作

可以知道为转化为16进制为CF

 

十六进制转化为十进制

比如CF

如何做呢?

分析: CF  末尾为F,最后一个对应十进制的15, 末二位为C对应十进制的12说明共有12次满十六进位

因此 转化为十进制数据为 12*16+15=207

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值