一,编程的层次
数字逻辑(Level 1):二进制数值机器语言。
指令集架构(Level 2):计算机芯片制造商在处理器内部设计一个指令集来实现基本操作,如传送、加法或乘法。这个指令集也被称为机器语言。每一个机器语言指令或者直接在机器硬件上执行,或者由嵌入到微处理器芯片的程序来执行,该程序被称为微程序。
汇编语言(Level 3):在 ISA 层,编程语言提供了一个翻译层,来实践大规模软件开发。汇编语言出现在 Level 3,使用短助记符,如 ADD、SUB 和 MOV,易于转换到 ISA 层。汇编语言程序在执行之前要全部翻译(汇编)为机器语言。
高级语言(Level 4):Level 4 是高级编程语言,如 C、C++ 和 Java。这些语言程序所包含的语句功能强大,并翻译为多条汇编语言指令。比如,查看 C++ 编译器生成的列表文件输出,就可以看到这样的翻译。汇编语言代码由编译器自动汇编为机器语言。
二,字节
在 x86 计算机中,所有数据存储的基本单位都是字节(byte),一个字节有 8 位。其他的存储单位还有字(word)(2 个字节),双字(doubleword)(4 个字节)和四字(quadword)(8 个字节)。
三,二进制,十进制,十六进制
1.二进制,十进制,十六进制转换教程(https://www.cnblogs.com/summerdata/p/10722144.html)
2.二进制与十六进制
| 1 | 6 | A | 7 | 9 | 4 |
| 0001 | 0110 | 1010 | 0111 | 1001 | 0100 |
四,原码, 反码, 补码
1.详解:https://www.cnblogs.com/zhangziqiu/archive/2011/03/30/ComputerCode.html
2.原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值。
3.反码,正数的反码是其本身,负数的反码是在其原码的基础上, 符号位不变,其余各个位取反。
4.补码,正数的补码就是其本身,负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1 (即在反码的基础上+1)。