我想知道的-进制

Posted 瓜田

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我想知道的-进制相关的知识,希望对你有一定的参考价值。

一、二进制,八进制,十进制,十六进制

1.二进制,比如 1111111;

  采用 0,1 两个数码,逢二进一。

2. 八进制,以0开头。比如05,0237;

  采用0,1,2,3,4,5,6,7八个数码,逢八进一,并且开头一定要以数字"0"开头。 

3. 十进制。比如20,457;

  采用0,1,2,3,4,5,6,7,8,9十个数码,逢十进一。

4. 十六进制,以0x开头。比如0x7a;

  采用0,1,2,3,4,5,6,7,8,9,A,B,C,D,F十六个数码,逢十六进一,并且开头一定要以“0x”开头

 

 


二、常用二进制 十进制 八进制 十六进制

0001  1  01     0x1     |    1001   9    011  0x9

0010  2  02     0x2     |    1010   10  012  0xA

0011  3  03     0x3     |    1011   11  013  0xB

0100  4  04     0x4     |    1100   12  014  0xC

0101  5  05     0x5     |    1101   13  015  0xD

0110  6  06     0x6     |    1110   14  016  0xE

0111  7  07     0x7     |    1111   15  017  0xF

1000  8  010   0x8     |


 

三、进制转换 

1.二转十      例子:101010.01    

101010 从个位开始往左分别代表 20 21 22 23 24 25 26 27 28 29 210 即  1 2 4 8 16 32 64 128 256 512 1024

32 16 8 4 2 1   1*32+16*0+1*8+4*0+2*1+1*0=32+8+2=42

.01 从十分位开始往后分别代表 2-1 2-2 2-3 2-4 即 1/2  1/4 1/8 1/16

0.5 0.25   0*0.5+1*0.25=0.25

101010.01=42+0.25=42.25

2.二转八      也可以先二转十,十转八 例子:101010.01 

   由于23=8,所以 个位往左开始 分成3位一组算,不足3位的左添0,小数点后面从十分位往右也是三位一组算,但不足3位的右添0

101 010 .010         就和"二转十"一样, 每三位各代表  百4 十2 个1

101 421 =4*1+2*0+1*1=5

010 421=4*0+2*1+1*0=2

.010 =.2

101010.01=052.2

3.二转十六   也可以先二转十,十转十六  例子:101010.01 

 由于24=4,所以 个位往左开始 分成4位一组算,不足4位的左添0,小数点后面从十分位往右也是4位一组算,但不足4位的右添0

0010 1010 .0100         就和"二转十"一样, 每四位各代表 千8  百4 十2 个1

0010 =2

1010=10=A

.0100=.4

101010.01=0x2A.4


 

3.十转  二 八 十六   例子: 42.25    

十转二  除二取余 :整数位/2 算余数 ,乘二取整:小数*2 看个位,无小数就停止

42/2=21 余 0         0.25*2=0.5  看个位 0    

21/2=10 余 1         0.5*2=1    看个位 1

10/2=5 余 0

5/2=2 余 1

2/2=1 余 0

1/2 = 0 余 1

(42)10=(101010)2  (0.25)10=(.01)2

(42.25)10=(101010.01)2

  十转八   除八取余:整数位/8 算余数 ,乘八取整: 小数*8 看个位,无小数就停止

      42/8=5 余2     0.25*8=2 个位2

      5/8=0   余5

      (42)10=(52)8    (0.25)10=(.2)8

      (42.25)10=(52.2)8

十转十六   除十六取余:整数位/16 算余数 ,乘十六取整: 小数*16 看个位,无小数就停止

      42/16=2 余10     0.25*16=4 个位4

      2/16=0   余2

      (42)10=(2A)16    (0.25)10=(.4)16

      (42.25)10=(2A.4)16


 

八转二   例子:052.2

一位转三位 421

5 =101

2 =010

.2=010

052.2=(101010.01)2 

八转十   例子:052.2

从个位往左 80 81 82 83 84  即 1 8 64 512  4096

5*8+1*2=42

从十分位往右   8-1 8-2 8-3 8-4  即  1/8 1/64 1/512  1/4096

2*0.125=0.25

052.2=42+0.25=42.25


 

十六转二 例子:0x2A.4

一位转四位

2=0010

A=10=1010

.4=0100

0x2A.4=(101010.01)2

十六转十 例子:0x2A.4

从个位往左 160 161 162   即 1 16 256 

2*16+A*1=32+10=42

从十分位往右 16-1 16-2 即 1/16    1/256

4*1/16=0.25

0x2A.4=42+0.25=42.5 

以上是关于我想知道的-进制的主要内容,如果未能解决你的问题,请参考以下文章

在 Swift 中转换十进制、二进制和十六进制

指数二进制数

将 16 位二进制值转换为八进制

详细请教:关于十进制RGB颜色值转换十六进制颜色值的算法

如何知道何时单击十进制键盘上的删除按钮

使用二进制的基数排序