數字碼 加權碼 非加權碼 以各種數字系統表示的數碼 (如十進位、二進位、八進 位、十六進位等) BCD碼(又稱8, 4, 2, 1碼) ASCII(美國資訊標準交換 碼) EBCDIC(延伸式BCD碼) 加三碼 格雷碼
數字系統的基本原理 式中r為基底,是大於1的自然數; 是0到 間的任一數字。
數字系統的基本特性 1. 除1以外的自然數均可為數字系統的底數,故數字系統 的種類有無窮多種。 1. 除1以外的自然數均可為數字系統的底數,故數字系統 的種類有無窮多種。 在電腦的程式語言中會用到的數字系統有二進位(binary) 、 八進位(octal)、十進位(decimal)、十六進位(hexadecimal)四種。 二進位的每個數字稱為位元(binary digit,簡記bit), 一位數的二進位稱1位元,八位數的二進位稱8位元。 4. 在數字系統中最左邊的數字稱最高有效數字(MSD), 最右邊的數字則稱最低有效數字(LSD),而在二進位 中則稱為最高位元及最低位元(MSB及LSB)。
數字與底數的關係 1. 在數字系統中,所能使用的數字個數與底數相同,例如八 進位可用0 ~ 7共8個數字。 1. 在數字系統中,所能使用的數字個數與底數相同,例如八 進位可用0 ~ 7共8個數字。 2. 在各進制中,任一數字的數值應都比底數小。 3. 任一位置的數字,若達底數值時,須將它進位至左邊位置。 4. 每一位數字所在的位置各代表著其底數的若干乘方,此即 為加權(weighted),例如 之7所在的加權為 。
組合語言中的底數表示方法 MOV AX, 3456H中,H 代表十六進位。 MOV AX, 4567Q中,Q 代表八進位。 MOV AX, 6789D中,D 代表十進位,此時 D 亦可省略。 MOV AL, 10101010B中,B 代表二進位。
BCD碼 十進位的每一個數字都用 4 個二進位數字來表示。 又稱8, 4, 2, 1碼。 是加權碼。 可當檢誤數碼。 算術運算較準確。
加三碼 ▼ 表2-4 十進位數、BCD碼及加三碼 把BCD碼再加 3(0011(2)) 而成加三碼。 可當檢誤數碼。
數字碼的互換 1. 非十進位化為十進位:將字碼乘上它的加權後在全部相加即可。電腦組合語言中常用之二進位、八進位、十六進位轉換為十進位後不會產生任何的誤差。 2. 十進位化為非十進位: (1) 整數轉換:採用連除法。最後把餘數依反方向紀 錄。 (2) 小數轉換:採用連乘法。最後把扣除下來的係數順 向紀錄。
數字碼的互換 3. 二進位、八進位、十六進位的互換: ▼ 八進位對二進位之對照表
數字碼的互換 ▼ 十六進位對二進位之對照表
數字碼的互換 4. BCD碼與十進位的互換: (1) 十進位轉換為BCD碼:每一個十進位字碼均用4個位 元表示。
數字碼的互換 5. 加三碼與十進位的互換: (1) 十進位轉換為加三碼:先將十進位轉換為BCD碼, 再把每個BCD碼均加3。 5. 加三碼與十進位的互換: (1) 十進位轉換為加三碼:先將十進位轉換為BCD碼, 再把每個BCD碼均加3。 (2) 加三碼轉換為十進位:先將加三碼轉換為BCD碼( 每個加三碼均減3),再把BCD碼轉換為十進位。
數字碼的互換 6. 以各種數字系統表示的數碼與格雷碼互換: (1) 數字系統化為格雷碼: i 將數字系統以二進位表示。 6. 以各種數字系統表示的數碼與格雷碼互換: (1) 數字系統化為格雷碼: i 將數字系統以二進位表示。 ii 由最低位元起,逐次取兩個相鄰位元做XOR運算,就得一位格雷碼。 iii 運算至最高位元時,須在前面加0後,再做XOR運算,即得最高位的格雷碼。 (2) 格雷碼化為數字系統: i 先將格雷碼化為二進位: 由格雷碼最高位往最低位方向進行,最高位直接輸出一個二進位值,此二進位再與下一位格雷碼用XOR運算得一個二進位值,重複運算到最低位為止。 ii 再把二進位化為其他的數字系統。
r的補數和r -1的補數 式中n為整數部分的位數、m為小數部分的位數。
r的補數的減法 若M、N為同底數r的正數,且均有n位數,則 可用下法得知: 1. 將M和N的r的補數相加。 2. 觀察最左位是否有末進位(End Carry): (1) 有末進位:去掉進位,即為答案。 (2) 無末進位:將求得之結果再求r的補數,最後 再加上負號即為答案。
的補數的減法 若M、N為同底數r的正數,且均有n位數,則 可用下法得知: 將M和N的 的補數相加。 觀察最左位是否有末進位(End Carry): (1) 有末進位:將末進位加至最低有效數字(稱端迴進位相加)。 (2) 無末進位:將求得之結果再求 的補數,最後再加上負號即為答案。