概要
来源:互联网 发布:刷机解网络锁 编辑:程序博客网 时间:2024/05/20 00:38
语言
机器只识别1和0,后来的汇编和高级语言都需要编译成1和0给机器,所以真正发展的是编译器。
编程语言层次:汇编->c->c++->java/c#->vb->php。
进制
进制的本质是计数;
各个进制都是完美的,把进制运算都换算成十进制是本末倒置的,只需要各个进制的加法和乘法表即可运算,如十进制加法表和乘法表。
二进制的简写是十六进制,如UE工具即可执行文件的二进制数显示为十六进制。
单独给出八位二进制数但是无格式说明是毫无意义的,因为数据时有边界的。
整数存储
存储的都为补码。
无符号数
直接将数据转换为二进制存储。
有符号数
正数:原码、反码、补码相同。
负数:原码--符号位为1,其他位为绝对值对应的二进制数;反码--符号位不变,其他位相反; 补码--符号位不变,其他位相反然后加1。
对于数据宽度为8Bit的有符号整数, 正数范围:00-7F; 负数范围:FF-80(FF为-1,FE为-2....),对于其他宽度的可相应推理。
运算
位运算
与运算:AND &
或运算:OR |
异或运算: XOR ^
移位运算: << 和 >>
算数运算
机器中算数运算只有移位运算。
加法逻辑上为移位运算的高级运算,其他的运算都通过加法运算实现。
加法运算的本质为异或运算+与运算+[移位运算],循环运算知道与运算为0时结束。
加法运算示例:4+5 = ? 二进制位运算后为00001001,为正数,故原码与补码相同,值为9。
减法为被加数加上个负数,乘法为多个数相加,除法为循环减去一个数。
汇编环境
参考使用DTDEBUG软件。
本质是cpu中的寄存器、内存和指令移动数据。
寄存器
32位cpu: 8位 16位 32位
64位cpu: 8位 16位 32位 64位
通用32为寄存器有8个。
- 概要
- 概要
- 概要
- 概要
- 中间件概要
- SAML概要
- JSP概要
- IPV6概要
- 中间件概要
- ICE概要
- 概要设计
- 中间件概要
- JavaScript概要
- 概要设计
- Zedgraph概要~
- LDAP概要
- SEO概要
- DeviceNet概要
- org.apache.jasper.JasperException: Unable to compile class for JSP
- 实习笔记:第三天工作总结
- 学习Linux命令(11)
- 1033. 旧键盘打字(20) PAT
- 数组学习
- 概要
- THINKPHP 错误:Undefined class constant 'MYSQL_ATTR_INIT_COMMAND'
- poj 1741Tree
- 单词拼写检查
- [opencv] lk光流法小结
- C语言程序设计(18)
- 进程间通信
- 【开发总结】Linux下获取物理网卡带宽最大值
- 怎么才能快速掌握java web进行项目开发