嵌入式day1-计算机基础

1.计算机组成讲解

计算机是现代一种用于高速计算的电子机器,可以进行数值计算,又可以进行逻辑判断,还具有存储记忆功能,且能够按照程序的运行,自动、高速处理数据。

嵌入式day1-计算机基础_第1张图片

2.计算机语言发展

机器语言-->汇编语言-->高级语言

计算机语言的发展越来越易于人的理解,但会减慢计算机的执行速度

按实现方式‌:分为编译型语言和解释型语言

按编程方式‌:可以分为面向对象语言、面向过程(函数式)语言等。

3.进制的知识点

3.1进制的表示方式

进制 前缀法
十进制 1234
二进制 0b110/0B110
八进制 01234
十六进制 0x1234/0X1234

3.2进制的转换

3.2.1十进制转N进制

  1. 方法1:除N取余,逆向排列

例如:25转二进制:25 = 0b11001

25转八进制:25 = 031 (0o31)

  1. 方法2:位权展开相减法

32 16 8 4 2 1

3.2.2N进制转十进制

方法:位权展开相加法

3.2.3二进制与八进制转换

二进制转八进制 三合一

八进制转二进制 一拆三

例如:

0b1110110110 = 0o(1666)

0o567 = 0b(101110111)

3.2.4二进制与十六进制转换

二进制转十六进制 四合一

十六进制转二进制 一拆四

例如:

0b101110110 = 0x(1b6)

0xabc = 0b(101010111100)

3.3二进制的原码 反码 补码

原码:给人看的,直接转换得到的

反码:用来做原码与补码之间转换的中间者

补码:给计算机看的

正数:原码 = 反码 = 补码 = 自身二进制

负数:原码:最高位代表符号位【0正1负】,其他位是自身二进制

           反码:最高位代表符号位【0正1负】,其他位对原码按位取反【0变1 1变0】

           补码:最高位代表符号位【0正1负】,其他位对反码加1

例: -127的原码 1000 0000 0111 1111

        -127的反码 1111 1111 1000 0000

        -127的补码 1111 1111 1000 0001

3.4位运算

位运算符

二进制

位与 &

1&0=0 1&1 = 1 0&1 = 0

位与 全1为1 有0则0

位或 |

1|0=1 0|1=1 0|0=0 1|1=1

位或 全0为0 有1则1

异或 ^

1^0=1 0^1=1 1^1=0 0^0=0

异或 相同为0 不同为1

取反 ~

~1=0 ~0=1

左移 <<

110110<<2= 0110 00

右移 >>

110110>>2 = 00 1101

              !!对于左移来说,低位补0         对于右移来说,正数高位补0,负数高位补1

课后例题:

1. 0x10 | 0x01 = ? 十六进制的结果是多少?

2. 0x10 & 0x01 = ? 十六进制的结果是多少?

3. 12 & 012 的十进制结果是多少?

4. 将二进制数101011左移两位,得到的二进制数转换为十进制是多少?

5. 将二进制数11010101右移两位,得到的二进制数转换为十进制和十六进制分别是多少?

6. 3^ -3等于多少?

【提示】计算位运算符,先转换为二进制,再以[补码]形式参与运算。

你可能感兴趣的:(python)