语言
沟通,计算机的语言!
什么是机器语言?
目前的电子计算机
状态:0 和 1
最早的程序员:穿孔卡带!
加 0100 0000
减 0100 1000
乘 0100 1000 0100 1000
除 0100 1000 1100 1000
这些复杂的机器语言 简化–>汇编语言
加 INC 0100 0000
减 DEC 0100 1000
乘 MUL 0100 1000 0100 1000
除 DIV 0100 1000 1100 1000
进制
二进制 0 1
十进制: 0 1 2 3 4 5 6 7 8 9
二进制: 0 1 10 11 100 101 110 111 1000 1001
计算机使用二进制0 1 状态!电子!
物理极限:摩尔定律!(到极限了)硬操作!
追求语言的极限!并发语言!软极限!
量子计算机:(传道)
可以实现量子计算的机器。
传统的计算机:集成电路!0 1 硅芯片!
量子计算机的单位:昆比特。(量子比特!)量子的两态来表示。
光子:正交偏振方向。
磁场:电子的自旋方向。
21世纪。计算力。快到尽头了!【落伍】本质问题!
量子计算机!提高计算机的计算力。
量子比特、量子叠加态、量子纠缠、量子并行原理…
2019年,Google研究人员展示其最新54比特量子计算机,该计算机只用200秒便可计算完毕当前世界最大的超级计算机需1万年进行的运算。
2020年,6.18。量子体积64的量子计算机!!I
霍尼韦尔还表示,将在一年之内得到至少10个有效量子比特,相当于1024个量子体积。量产!
电子计算机=>量子计算机!
数据宽度
计算机:内存,给数据增加数据宽度。
bit 1 位 0 1
Byte 8 字节 0~0xFF
Word 16 字 0~0XFFFF
DWord 32位 双字 0~0XFFFFFFFF
有符号数 无符号数
无符号数
数字是什么就是什么
1001 1010 十六进制 0x9A 十进制 154
有符号数
最高位是符号位 : 1(负)0(正)
1001 1010
原码 反码 补码
有符号数的编码规则
原码: 最高位是符合位,对齐它的位进行本身绝对值即可。
反码:
- 正数:反码和原码相同
- 负数:符号位一定是1,其余为对原码取反。
补码:
- 正数:反码和原码相同
- 负数:符号位一定是1,反码+1。
1
原码 0000 0001
反码 0000 0001
补码 0000 0001
-1
原码 1000 0001
反码 1111 1110
补码 1111 1111
-7
原码 1000 0111
反码 1111 1000
补码 1111 1001
寄存器:mov 寄存器,值
位运算
与运算(and &)
1011 0001
1101 1000
----------
1001 0000
或运算(or |)
1011 0001
1101 1000
----------
1111 1001
异或运算(xor ^)
同0异1
1011 0001
1101 1000
-----------
0110 1001
非运算(单步运算符 not ~)
1101 1000
---------
0010 0111
位运算(移动位)
左移(shl <<):
所有的二进制位全部左移若干位,高位丢弃,低位补0
右移(shr >>):
所有的二进制位全部右移若干位,低位丢弃,高位补0,1(符号位决定)
0000 0001
0000 0010
0000 0100
0000 1000
位运算的加减乘除
计算机只认识0 1
加
4+5
0000 0100
0000 0101
-----------
0000 1001
计算机的实现原理:
第一步,异或,如果不考虑进位,异或就直接出结果
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) 5的补码
0000 0100
1111 1011
----------
1111 1111 ff -1
计算机:
异或
0000 0100
1111 1011
----------
1111 1111
与
0000 0100
1111 1011
----------
0000 0000
乘 x*y y个x相加 还是加法
除 x/y x能减去多少个y 还是减法
计算机只会做加法
寄存器
存储数据:CPU>内存>硬盘
32位CPU 8 16 32
64位CPU 8 16 32 64
存值的范围 0~FFFFFFFF
mov 存的地址,存的数
mov 存的地址1,存的地址2
mov eax,1
mov eax,edx
可以将数字写入寄存器,可以将寄存器中的值写到寄存器
FFFF FF
32位 16位 8位
EAX AX AL
ECX CX CL
EDX DX DL
EBX BX BL
ESP SP AH
ENP NP CH
ESI SI DH
EDI DI BH
8位:L低8位 H高8位
硬盘
32位CPU 8 16 32
64位CPU 8 16 32 64
存值的范围 0~FFFFFFFF
mov 存的地址,存的数
mov 存的地址1,存的地址2
mov eax,1
mov eax,edx
可以将数字写入寄存器,可以将寄存器中的值写到寄存器
FFFF FF
32位 16位 8位
EAX AX AL
ECX CX CL
EDX DX DL
EBX BX BL
ESP SP AH
ENP NP CH
ESI SI DH
EDI DI BH
8位:L低8位 H高8位