进制简介

我来用最基本的语言,为大家介绍一下,2进制,8进制,10进制,16进制之间的关系。用最短的时间,学到最多的东西!

算机进制(了解)

1、进制介绍

计算机底层的数据运算和存储都是二进制数据。

计算机语言就是二进制,计算机能直接识别二进制数据,其它数据都不能直接识别。

计算机的数据转换,基本都是操作系统自动转换的。

2、常用进制

l  十进制:有10个基本数字,分别为0、1、2、3、4、5、6、7、8、9,运算规则”逢十进一”;

l  八进制:有8个基本数字,分别为0、1、2、3、4、5、6、7,运算规则”逢八进一”

l  十六进制:有16个基本数字,分别为0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F,运算规则”逢十六进一”。

l  二进制:有2个基本数字,分别为0、1,运算规则”逢二进一”。

10进制

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

8进制

0

1

2

3

4

5

6

7

10

11

12

13

14

15

16

17

20

16进制

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

10

2进制

0

1

10

11

100

101

110

111

1000

1001

1010

1011

1100

1101

1110

1111

10000

一个8进制数,可以用3个二进制数,来表示。如:(567)8 = (101 110 111)2

一个16进制数,可以用4位二进制数,来表示。如:(A23)16 = (1010 0010 0011)2

310进制转成2进制

原理:除2取余法。第一次将整数除以2,取余数;然后,再将商除以2,再取余数;一直除下去,直到商为0,就除完了。最后读数时,从最后一位读起。

举例:将(10)10 转成 二进制?

第N次

整数10

余数

第1次

10/2

5

0

第2次

5/2

2

1

第3次

2/2

1

0

第4次

1/2

0

1

结果是:(1010)2

函数decbin()可以将十进制转成二进制。(用代码来实现)

// 将十进制转化成二进制

  echo decbin(10);

// 结束

该代码片段得到的结果是:1010

410进制转成8进制

原理:除8取余法。第一次将整数除以8,取余数;然后,再将商除以8,再取余数;一直除下去,直接商为0,就除完了。最后读数时,从最后一位读起。

举例:(678)10 转成八进制

函数decoct()可以将十进制转成八进制。

// 将十进制转成八进制

  echo decoct(678);

// 结束

该代码片段得到的结果是:1246

510进制转成16进制

原理:除16取余法。第一次将整数除以16,取余数;然后,再将商除以16,再取余数;一直除下去,直接商为0,就除完了。最后读数时,从最后一位读起。

举例:(6789)10转成十六进制?

函数dechex()可以将十进制转成十六进制

// 将十进制转成十六进制

  echo dechex(6789);

// 结束

该代码片段得到的结果是:1a85

62进制转成10进制

原理:按权相加法。2进制每一位上的数,乘以所在的位权(指数常数),然后将各个乘积求和。

举例:(1010)2转成十进制?

(1010)2 = 1*2^3 + 0*2^2 + 1*2^1 + 0*2^0 = 8 + 0 + 2 + 0 = (10)10

函数bindec()将二进制转成十进制。

 // 二进制转成十进制

  echo bindec("1010");

// 结束

该代码片段得到的结果是:10

78进制转成10进制

原理:按权相加法。8进制每一位上的数,乘以所在的位权(指数常数),然后将各个乘积求和。

举例:(1246)8转成十进制?

(1246)8 = 1*8^3 + 2*8^2 + 4*8^1 + 6*8^0 = 512 +128 + 32 + 6 = (678)10

函数octdec()将八进制转成十进制。

// 八进制转成十进制

  echo octdec(1246);

// 结束

该代码片段得到的结果是:678

816进制转成10进制

原理:按权相加法。16进制每一位上的数,乘以所在的位权(指数常数),然后将各个乘积求和。

函数hexdec()将十六进制转成十进制。

// 十六进制转成十进制

  echo hexdec(1a85);

// 结束

该代码片段得到的结果是:6789

原文地址:https://www.cnblogs.com/wangzijian/p/6492988.html