问题
- 浮点数的表示
- 计算机内部都是补码表示吗,输入和输出时将原码转换为补码吗?
- 乘法是如何实现的?
- 除法是如何实现的?
- 布尔代数如何巧妙的将数学运算转换为逻辑运算?
- 为什么最基本的逻辑是‘非’逻辑,比如(与非/或非),而不是不是(‘与/或)呢?
非逻辑容易制造与设计
详见:https://zhuanlan.zhihu.com/p/34974464
Key Points
介绍了位的属性以及用位表示事物的方法。
语言系统最重要的是编码和解码,要考虑成本和易用性。
什么是语言
语言是一种交流的捷径。语言的意义被编码为一组符号,还需要解码,才能理解。
书面语言
书面语言是由一连串的符号构成的。
语言有三个技术组成部分:
- 容纳符号的容器
- 容器中允许使用的符号
-
比特
容器
在人类语言中,它被称为字符;在计算机中被称为比特(bit)。
符号
逻辑运算
布尔代数
布尔代数是英国数学家 George Boole 在19世纪提出的,是一组对比特进行运算的规则。
有三个基本的布尔运算: NOT
- AND
- OR
一个复合运算:
-
德摩根定律
19世纪,英国数学家 Augustus De Morgan 添加了一条只适用于布尔代数的定律。
该定律规定,运算a AND b
相当于运算NOT(NOT a OR NOT b)
。用比特表示整数
表示正数
二进制加法
2个比特相加时,结果的值是2个比特的 XOR 运算结果,进位的值是2个比特的 AND 运算结果。
表示负数
原码表示法:不常用 1. 存在两个0,增加成本;2. 使用 XOR 和 AND 的运算不能用这种表示法
- 反码表示法:存在两个0;循环进位,比较麻烦
- 补码表示法:只使用 XOR 和 AND 运算
表示实数
定点表示法
浮点表示法
IEEE浮点标准
二进制编码的十进制系统
BCD 编码,已不再盛行。处理二进制数的简单方法
八进制表示法
十六进制表示法
表示语境
命名位组
字节。表示文本
ASCII
其他标准的演变
ISO-646
ISO-8859
UnicodeUTF-8
Unicode Transformation Format-8 bit用字符表示数字
可打印字符引用编码
Base64编码
URL编码
表示颜色
增加透明度
编码颜色