写在前面:一个编程高手,一定会往底层研究,汇编语言是高级程序员的必经之路。
语言
人和人沟通?语言!
为了和巴铁交流,学习乌尔都语!
为了使用计算机,学习计算机语言!
什么是机器语言?
#我们目前主流的电子计算机!
状态: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
学习进制的障碍?
十进制!人类天然的选择就是十进制,十个指头!
但是我们要学会跳出固有的思维,会当凌绝顶~~~
二进制
思想:每一种进制都是完美的,都有自己的计算方式!
进制
一进制:逢一进一,结绳记事。
二进制:逢二进一,计算机。
八进制:逢八进一,8个符号组成,0 1 2 3 4 5 6 7
十进制:逢十进一,10个符号组成,0 1 2 3 4 5 6 7 8 9
16进制:逢16进一,16个符号组成,0 1 2 3 4 5 6 7 8 9 a b c d e f
进制远远没有那么复杂,记住跳出固有思维,它的本质就是查数。
且听我慢慢道来~~~
测试
#一进制 1~20
1
1 1
1 1 1
1 1 1 1
......
#三进制 1~20
0 1 2
10 11 12
20 21 22
100 101 102
110 111 112
120 121 122
#七进制 1~20
0 1 2 3 4 5 6
10 11 12 13 14 15 16
20 21 22 23 24 25 26
30......
#十进制
回想一下从小学的数学0~9,数到9就变成10,这就是逢十进一,也就是所谓的十进制
我们也可以自己定义一组十进制,十进制就是10 个符号,比如说: 1 3 5 7 9 A B C D E,这就是我们自己定义的十进制,可以随便定义的,哲学上说人类具有能动性,我们做一个创造者。
**加密解密:**这里就可以采用进制的加密。
进制是怎么进行计算的呢?(我们用八进制举例说明)
前边讲过,计算的本质就是查数,印在脑海里。
八进制:
0 1 2 3 4 5 6 7
10 11 12 13 14 15 16 17
20 21 22 23 .....
八进制中 4 + 5 >>> 逢八进一 ,4之后我们数五个数 5 6 7 10 11,即4 + 5 =11;
照这样的规律,我们不妨做一张八进制加法表做一张八进制乘法表
我们从小学习十进制,所以会觉得12345678910理所当然,但是我们是程序员,所以跳出既定的束缚中,发散思维就不难理解八进制的计算方式。
结论:无论什么进制,都有一套完美的运算体系,我们都可以通过列表的方式计算出来。