04手把手教你学习51单片机之位移运算

各个进制的范围和前后缀

进制

英文

范围

前缀

后缀

二进制

Binary

0-1

0b

B

八进制

Octal

0-7

0o

O

十进制

Decimal

0-9

0d

D

十六进制

Hexadecimal

0-9, A-F

0x

H

16进制用0x前缀或后缀H来表示十六进制,而2进制为0b为前缀或B来表示二进制。


 16进制范围

16进制

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

 通过“8421”计算出来的2进制和16进制转换的表格

来源自二2^{}3+2^{}2+2^{}1+2^{}0 = 8 + 4 + 2 + 1进制:

二进制的“8421”计算出的16进制

二进制

过程

十六进制

1111

=8*1 + 4*1 + 2*1+ 1*1 =

15 =F

1110

= 8*1 + 4*1+ 2*1 + 1*0 =

14= E

1101

= 8*1 + 4*1 + 2*0 + 1*1=

13= D

1100

= 8*1 + 4*1 + 2*0 +1*0 =

12 = C

1011

= 8*1 + 4*0 + 2*1 + 1*1 =

11= B

1010

= 8*1 + 4*0 + 2*1 + 1*0=

10 =A

1001

= 8*1 + 4*0 + 2*0 + 1*1=

9=9

1000

= 8*1 + 4*0 + 2*0 + 1*0=

8=8

0111

= 8*0 + 4*1 + 2*1 + 1*1=

7=7

0110

= 8*0 + 4*1 + 2*1 + 1*0=

6=6

0101

= 8*0 + 4*1 + 2*0 + 1*1=

5=5

0100

= 8*0 + 4*1 + 2*0 + 1*0=

4=4

0011

= 8*0 + 4*0 + 2*1 + 1*1=

3=3

0010

= 8*0 + 4*0 + 2*1 + 1*0=

2=2

0001

= 8*0 + 4*0 + 2*0 + 1*1=

0=1

0000

= 8*0 + 4*0 + 2*0 + 1*0=

0=0

关于左移和右移:

移位符号:左移位“ << ”   右移位用 “ >> ”

移位口诀:左移时最低位补0;右移时最高位补0。(通俗一点就是移走了的位置后面就跟着上去,空着位置就使用 0去补位置)

 

对于二进制0000 0001进行左移2位举例(如下图):

04手把手教你学习51单片机之位移运算_第1张图片

 

16进制转2进制换算和移位操作(换算可以直接查上面的表格,注意:4位一组)

16进制

2进制

2进制(<<2)

16进制(<<2后)

0xf0

1111 0000

1100 0000

0xc0

 

16进制

2进制

2进制(>>2)

16进制(>>2后)

0xf9

1111 1001

0011 1110

0x3e

你可能感兴趣的:(--51单片机)