运算基础
冯诺依曼体系机:程序存储、程序控制
进制特点
- 二进制
- 特点:逢二进一 用 0 和 1 表示
- 八进制
- 特点:逢八进一 用 0 1 2 3 4 5 6 7 表示
- 十进制
- 特点:逢十进一 用 0 1 2 3 4 5 6 7 8 9 表示
- 十六进制
- 特点:逢十六进一 用 0 1 2 3 4 5 6 7 8 9 ,10-15用 A B C D E F 分别对应 11、12、13、14、15 表示
- 十六进制数是字母开头,须在前面加一个“0” 如: 0ABH
1、十进制转二进制
8421万能法
A 1 0 1 0
8 4 2 1
8+2=10,所以A就是10
2、二进制转八进制
421万能法
八进制57.6转二进制
1 0 1 1 1 1 1 1 0 B
4 2 1 4 2 1 4 2 1
3、10进制转16进制
250转16进制 250除16= 15 ....... 10 就是 FAH
1000转16进制 1000除16=62........8,62在除16=3....4 就是 3E8H
4、小数转16进制×16取整
5、十六进制转10进制(按权展开从左到右顺序)
83转10进制:
8×16一次方+3×16的0次方=131
6、10进制转二进制
1、除余法
100转2进制
2 ÷ 100 = 50 余 0
2 ÷ 50 = 25 余 0
2 ÷ 25 = 12 余 1
2 ÷ 12 = 6 余 0
2 ÷ 6 = 3 余 0
2 ÷ 3 = 1 余 1
2 ÷ 1 = 0 余 1
所有100转2进制是 1100100
2、10进制-3E8H
10进制数 - 3E8H = 16进制在转二进制
10进制正数写0 ,负数写1
例如:
+1000 写 1000 - 3E8H
-1000 写 10000 - 3E8H(多加了个0)
7、二进制转16进制
例:
1 1 1 1 转16进制
8 4 2 1 8*1+4*1+2*1+1*1 = F 十六进制就是 F
与或异或非运算
与运算(and):有0出0,全1出1
asm例: 1011 0001 1101 1000 --------- 与运算 1001 0000
或运算(or):有1出1,全0出0
asm例: 1011 0001 1101 1000 --------- 或运算 1111 1001
异或运算(xor):相同为0,不同为1
asm例: 1011 0001 1101 1000 --------- 异或运算 0110 1001
非运算(单目运算符 not~):0就是1,1就是0,取反
asm例: 1101 1000 --------- 0010 0111
位运算(移动位,左移×2,右移除2)
0000 0001 1
0000 0010 2
0000 0100 4
0000 1000 8
左移:(<<) 汇编指令叫 shl(逻辑左移)
0000 0001 所有二进制位全部左移若干位,高位就丢弃了,低位补0
0000 0010
右移:(>>) 汇编指令叫 shr(逻辑右移)
0000 0001 所有二进制全部右移若干位,低位就丢弃了,高位需要补0,1(符号位决定补0还是1)
0000 0000
位运算实现加减乘除
4+5=?
# 计算机是怎么操作的!
0000 0100
0000 0101
--------- (加法,计算机是不会直接加的)
# 第一步, 异或,如果不考虑进位,异或就可以出结果
0000 0100
0000 0101
---------
0000 0001
# 第二步,与运算(判断进位!如果与运算结果为0,没有进位)
0000 0100
0000 0101
---------
0000 0100
# 第三步,将与运算的结果,左移一位, 0000 1000 进位的结果
# 第四步,异或!
0000 0001
0000 1000
---------
0000 1001
#第五步,与运算(判断进位!如果与运算结果为0,没有进位)
0000 0001
0000 1000
---------
0000 0000
# 所以最终的结果就是与运算为0的结果的上一个异或运算
4-5=?
# 计算机是怎么操作的!
4+(-5)
0000 0100
0000 0101
--------- (减法,计算机是不会直接加的)
1111 1111
0000 0100
1111 1011
--------- (异或,如果不考虑进位,异或就可以出结果)
1111 1111
0000 0100
1111 1011
--------- 与(判断进位!如果与运算结果为0,没有进位)
0000 0000
最终结果
二进制 1111 1111
16进制 ff
10进制 -1
乘:x*y,就是y个x相加,还是加法
除:x/y,本质就是减法,就是x能减去多少个y
结论:计算机只会做加法!
BCD码(就是转二进制编码)
特点
- BCD码有十个不同字符,逢十进一,是十进制数
- 每一位十进制数用4位或8位二进制编码表示,是二进制编码的十进制数
- 直观

例:求十进制数876的BCD码
876.7=(1000 0111 0110.0111)BCD
876 = 36CH = 1101101100B
注意:BCD码 十进制码 二进制
除BCD编码外,还有其他二进制编码的十进制数。如余3码、余3循环码等。
BCD的二种方式
- 组合BCD(压缩BCD)4位表1位
- 0100 1000
- 非组合BCD(8位表1位)
- 0000 0010 1000 0011
字符编码
可表示128种字符的7位基本ASCII码和可表示256种字符的8位扩充ASCII码。
字符可分为:显示字符和控制字符
表格重点
数字(0-9) | ASCII码 | 30H-39H |
---|
大写字母(A-Z) | ASCII码 | 41H-5AH |
---|
小写字母(a-z) | ASCII码 | 61H-7AH |
---|
换行 | ASCII码 | 0AH |
---|
回车 | ASCII码 | 0DH |
---|

带符号数的表示方法
机器数与真值
- 机器数:
- 计算机中数的表示形式,以二进制的形式表示,位数通常为8的倍数 。一般数的最高位作符号位,“0”表示“+”, “1”表示“-”。
- 一字节为8位二进制数
- 真值
- 机器数所代表的实际数值。可用二进制表示,也可用其他进制表示。
- 机器数:
计算机对有符号数的三种表示方法
- 原码
- 正数符号位为0,负数为1,数值保持不变
- +12 = 0000 1100 B
- -12 = 1000 1100 B
- 原码16位数的表示范围
- -32767~ +32767
- 原码8位数的表示范围
- -127~+127
- 正数符号位为0,负数为1,数值保持不变
- 反码
- 定义:
- 正数的反码和原码表示相同
- 负数反码符号位为1,数值位为原码数值各位取反,原码基础上,除符号位外,按位取反,正数不变。
- 反码的表示范围:
- +127~ -127
- 特点:
- 0有两种表示方法
- 8位:-127~ +127 16位:-32767~ +32767
- 符号位为0,正数,后面7/15位是其数值
- 符号位为1,负数,后面7/15位按位取反
- 定义:
- 补码
- 负数的补码,在反码的补码上+1.
- 运算
- 补码是原码、补码,除符号位按位取反+1
- 补码求原码-1取反
- 模-1负数1 = 补码
- 8位:-128~ +127 16位:-32768~ +32767 , 80H就是 -128
- 补码的快速算法
- 8位:
- 100h - 22h = DEH (DEH就是22H的补码)
- 16位:
- 10000h - 3E8H=FC18H(FC18H就是22H的补码)
- 8位:
- 注意:
- 正数原码、反码、补码相同
- 负数在计算机是以补码的方式存储(补码就是反码+1)
- 原码
计算机系统的组成及其工作原理
计算机系统由软件系统和硬件系统组成 软件系统分为应用软件和系统软件
冯●诺依曼体系机:
5个组成部分:运算器、存储器、控制器、输入/输出设备
CPU由:运算器、控制器、寄存器、主控制器CPU
计算机的工作原理:取指令、分析指令、执行指令
.png)
微处理器只是一个中央处理器(CPU)由算术逻辑部件(ALU),累加器和通用寄存器、程序计数器、时序和控制逻辑部件、内部总线等组成。微处理器不能构成独立工作的系统,也不能独立执行程序。
微型计算机由CPU,存储器、输入/输出接口电路和系统总线组成,具有计算机功能,能独立执行程序,但不能显示或输出,仍不能正产工作。
以微型计算机为主体,配上外部输入/输出设备及系统软件就构成了微型计算机系统,这样就可以正常工作了。
结论(了解):
由此可知,计算机的基本工作原理如下:
(1) 计算机的自动计算(或自动处理)过程就是执行一段预先编制好的计算程序的过程。
(2) 计算程序是指令的有序集合,因此,执行计算程序的过程实际上是逐条执行指令的过程。
(3) 指令的逐条执行是由微机或计算机硬件实现的,可归结为取指令、分析指令、执行指令。如此重复操作,直至执行完计算程序中的全部指令,便可获得最终结果。
微机系统主要技术指标
常用名词术语
位( bit 或 b )——最小的信息单位,二进制的一位数。
例如:1101,含有 4 bit;一个“bit”只能表示 1种状态 (“0” 或 “1”);n 个“bit” 就能表示2n 种状态。
字节( byte 或 B )——是计算机的最小存储单元
1 byte = 8 bit , 从00000000~11111111;
可以表示256 个状态(数值);
一般数字、字母、普通符号用一个字节就可表示,但汉字、特殊符号等则需两个或多个字节来表示。
字(word 或 w)——是计算机进行数据交换、加工、存储的基本运算单位。一个字由一个或若干个字节构成,通常将组成一个字的位数叫作该字的字长。
1字=2Byte=16bit
DB:字节定义
字长:每个字所包含的二进制位数
32k=2的五次方•2的10次方=2的15次方=8000H
=2的15次方×1+2的14次方×0+2的13次方×0....=1000000000000000(有多少次方,写多少个0)
主要技术指标
机器字长:是指计算机内部ALU能够一次同时处理的二进制数的位数。
字长越长,运算精度越高。通常字长都是字节(8位二进制数)的整数倍,如8位、16位、32位、64位。
主频:是计算机的时钟频率
内存容量:计算机可存储信息的多少,通常以自己为计量单位。一般用KB、MB、GB、TB、PB为单位
1KB=1024B
1MB=1024KB
1GB=1024MB
容量越大储存的程序和数据越多,处理能力也就越强。