概述
一、逻辑代数
反应和处理逻辑关系 (因果关系 )的数学工具,就是逻辑代数。也叫做布尔代数 、开关代数。
二、二进制数表示法
(一)十进制,逢十进一
如:
43.7=4×101+3×100+7×10−143.7=4\times10^1+3\times10^0+7\times10^{-1} 43.7=4×101+3×100+7×10−1
任意一个正十进制数D可以展开为:
D=∑ki10i D=\sum k_i 10^i D=∑ki10i
(二)二进制,逢二进一
如:
11.1=1×21+1×20+1×2−111.1=1\times2^1+1\times2^0+1\times2^{-1} 11.1=1×21+1×20+1×2−1
任意一个二进制数D可以展开为:
D=∑ki2i D=\sum k_i 2^i D=∑ki2i
(三)八进制和十六进制------二进制的缩写形式
1、八进制数
逢八进一。任意一个八进制数D可以展开为:
D=∑ki8i D=\sum k_i 8^i D=∑ki8i
如:
37.1=3×81+7×80+1×8−137.1=3\times8^1+7\times8^0+1\times8^{-1} 37.1=3×81+7×80+1×8−1
八进制比二进制写起来简单,而且转换方便,所以在编程中,经常用到八进制。
2、十六进制数
逢十六进一。每一位数都有十六种可能出现的数字,分别为0~9、A~F,任意一个十六进制数D可以展开为:
D=∑ki16i D=\sum k_i 16^i D=∑ki16i
如:
3A.F=3×161+A×160+F×16−13A.F=3\times16^1+A\times16^0+F\times16^{-1} 3A.F=3×161+A×160+F×16−1
十六进制的应用比八进制还广泛。
(四)几种常用进制之间的转换
1、二--十进制数转换
将各项的数值按十进制相加,如:
(101.1)2=1×22+0×21+1×20+1×2−1=4+0+1+0.5=5.5 \begin{align*} (101.1)_2 &= 1\times2^2+0\times2^1+1\times2^0+1\times2^{-1}\\ &= 4+0+1+0.5\\ &= 5.5 \end{align*} (101.1)2=1×22+0×21+1×20+1×2−1=4+0+1+0.5=5.5
2、十--二进制数转换
(1) 整数的转换
除 2 取余口诀:除基取余,逆序排列。
k0k_0k0 最低位,k7k_7k7最高位,写结果要颠倒顺序,如:
2173⋯⋯余数=1=k0286⋯⋯余数=0=k1243⋯⋯余数=1=k2221⋯⋯余数=1=k3210⋯⋯余数=0=k425⋯⋯余数=1=k522⋯⋯余数=0=k621⋯⋯余数=1=k70 \begin{array}{r|l} 2 & 173 \quad \cdots\cdots \text{余数}=1=k_0 \\ 2 & 86 \quad \cdots\cdots \text{余数}=0=k_1 \\ 2 & 43 \quad \cdots\cdots \text{余数}=1=k_2 \\ 2 & 21 \quad \cdots\cdots \text{余数}=1=k_3 \\ 2 & 10 \quad \cdots\cdots \text{余数}=0=k_4 \\ 2 & 5 \quad \cdots\cdots \text{余数}=1=k_5 \\ 2 & 2 \quad \cdots\cdots \text{余数}=0=k_6 \\ 2 & 1 \quad \cdots\cdots \text{余数}=1=k_7 \\ & 0 \end{array} 22222222173⋯⋯余数=1=k086⋯⋯余数=0=k143⋯⋯余数=1=k221⋯⋯余数=1=k310⋯⋯余数=0=k45⋯⋯余数=1=k52⋯⋯余数=0=k61⋯⋯余数=1=k70
(173)10=(10101101)2 (173)_{10}=(10101101)_2 (173)10=(10101101)2
验算对齐公式
(173)10=1×27+0×26+1×25+0×24+1×23+1×22+0×21+1×20=128+0+32+0+8+4+0+1=173 \begin{aligned} (173)_{10} &=1\times2^7+0\times2^6+1\times2^5+0\times2^4+1\times2^3+1\times2^2+0\times2^1+1\times2^0 \\ &=128+0+32+0+8+4+0+1 \\ &=173 \end{aligned} (173)10=1×27+0×26+1×25+0×24+1×23+1×22+0×21+1×20=128+0+32+0+8+4+0+1=173
(2)小数的转换
乘 2 取整,如:
0.8125×21.6250⋯⋯⋯整数部分=1=k−10.6250×21.2500⋯⋯⋯整数部分=1=k−20.2500×20.5000⋯⋯⋯整数部分=0=k−30.5000×21.0000⋯⋯⋯整数部分=1=k−4 \begin{array}{rl} 0.8125 \\ \times\quad 2 \\ \hline 1.6250 & \quad\cdots\cdots\cdots \text{整数部分}=1=k_{-1}\\4pt 0.6250 \\ \times\quad 2 \\ \hline 1.2500 & \quad\cdots\cdots\cdots \text{整数部分}=1=k_{-2}\\4pt 0.2500 \\ \times\quad 2 \\ \hline 0.5000 & \quad\cdots\cdots\cdots \text{整数部分}=0=k_{-3}\\4pt 0.5000 \\ \times\quad 2 \\ \hline 1.0000 & \quad\cdots\cdots\cdots \text{整数部分}=1=k_{-4} \end{array} 0.8125×21.62500.6250×21.25000.2500×20.50000.5000×21.0000⋯⋯⋯整数部分=1=k−1⋯⋯⋯整数部分=1=k−2⋯⋯⋯整数部分=0=k−3⋯⋯⋯整数部分=1=k−4
(0.8125)10=(0.1101)2 (0.8125)_{10}=(0.1101)_2 (0.8125)10=(0.1101)2
验算公式
(0.8125)10=1×2−1+1×2−2+0×2−3+1×2−4=0.5+0.25+0+0.0625=0.8125 \begin{aligned} (0.8125)_{10} &= 1\times 2^{-1}+1\times 2^{-2}+0\times 2^{-3}+1\times 2^{-4}\\ &=0.5+0.25+0+0.0625\\ &=0.8125 \end{aligned} (0.8125)10=1×2−1+1×2−2+0×2−3+1×2−4=0.5+0.25+0+0.0625=0.8125
3、二--八进制数转换
从小数点开始,两边每3位二进制数划为一组,转化为八进制。
例如:将 (10110101.00111101)2(10110101.00111101)_2(10110101.00111101)2 化为八进制数。
(010, 110, 101. 001, 111, 010 )2↓↓↓ ↓↓↓= ( 2,6,5.1,7, 2 )8 \begin{aligned} (&010,\ 110,\ 101.\ 001,\ 111,\ 010\,)_2 \\ &\downarrow\quad\quad\downarrow\quad\enspace\downarrow\quad\ \enspace\downarrow\enspace\enspace\quad\downarrow\quad\enspace\downarrow \\ =\ (&\ 2,\enspace\quad 6,\quad 5.\quad \enspace1,\quad \enspace7,\quad \; 2\ )_8 \end{aligned} (= (010, 110, 101. 001, 111, 010)2↓↓↓ ↓↓↓ 2,6,5.1,7,2 )8
4、八--二进制数转换
将每1位八进制数写成3位的二进制即可。
例如:将 (512.304)8(512.304)_8(512.304)8 化为二进制数。
(5, 1, 2. 3, 0, 4 )8= (101, 001, 010. 011, 000, 100 )2 \begin{aligned} (&5,\, 1,\, 2.\, 3,\, 0,\, 4\,)_8 \\ =\ (&101,\, 001,\, 010.\, 011,\, 000,\, 100\,)_2 \end{aligned} (= (5,1,2.3,0,4)8101,001,010.011,000,100)2
5、二--十六、十六---二进制数转换
与八进制和二进制之间的转换相仿。
三、二进制代码
用二进制表示十进制的是个数字符号0~9的编码称为8421码,即BCD码, Binary‑Coded Decimal|BCD 码(二进制编码十进制)
电子 / 计算机最常用含义。
规则:每 4 位二进制表示 1 位十进制数字(0‑9),4 位取值只允许 0000~1001,1010‑1111 属于非法码。
8421‑BCD(最通用):
十进制 12 → 0001 0010;十进制 25 → 0010 0101
特点:方便数码管、仪表直接显示十进制,金融、PLC 工控大量使用;存储效率比纯二进制低,运算需要专门调整。