字符的输入与输出
Question:14+15=
Start:
從鍵盤上輸入14+15=,這是鍵盤內部的CPU將1、4、+、1、5、=這6這字符的ASCII碼輸入計算機內部。
計算機在遇到“=”時,知道了前面輸入的是數學式子,需要進行計算。
但計算機不能直接將ASCII計算,因為只是一串兒二進制的編碼不具備數學性質
ASCII碼與8421 BCD碼的轉換。
為什么要把ASCII碼轉換成8421BCD碼,為什么不直接轉換成可進行計算的二進制編碼?【我的疑問】
ASCII與BCD有著某種巧妙的關系,ASCII的后四位對應了它的BCD碼
求出BCD碼后,BCD 碼可以轉換成二進制數
有了數的屬性后,計算機內部就可以計算了,計算得到的結果是二進制數
將二進制數轉換成BCD碼
BCD碼找出對應的ASCII碼
根據ASCII碼得到地址,找到字形庫中結果對應的字形
通過一小段程序和0.1所對的高低電平顯示出字
14+15
對應的16進制ASCII (31H)(34H)+(31H)(35H)
對應的2進制ASCII 0011000100110100+00110001 00110101
對應的BCD碼 0001 0100+0001 0101
轉換成二進制 1110+1111
得出運算結果 11101
轉換成BCD 00101001
轉換成二進制ASCII碼 00110010 00111001(2和9對應的ASCII 碼)
00110010 00111001同時也是29在字形庫中的地址??梢愿鶕刂泛鸵徊糠殖绦驅?9顯示在屏幕上。
總結
- 上一篇: 第五周周记(国庆第七天)
- 下一篇: BCD码的加减运算