LV. 4
GP 43

【 紅石本丸 】計算機教學─4‧CPU

樓主 本丸 fun85627
GP36 BP-
有人留言告訴我,我把進位制和位元搞錯了

仔細一看....還真的搞錯了~~

一開始先來講解一下位元和進位制的差別吧

多少位元,意旨多少訊號輸入的線

多少進位制,意旨訊號的進位方式

所以七段顯示器是4位元2進位制的

七‧進位的處理

為CPU內的ALU~~(((專業名詞,會不會比較專業XD

如果全部都使用2進位來做計算
優點:很好計算
缺點:很難顯示
那全部都使用10進位來做計算
優點:很好顯示
缺點:很難計算

這兩個方法好處與壞處剛好相

我要教學的話,既不能教困難的邏輯
也不能做大到讓人看不懂的機器

接下來我要介紹這種方法
結合10進位的2進位計算方式

雖然不會比全用2進位還要好計算
也不會比全用10進位還要好顯示
但覺得做起來方便,簡單,好理解

本篇的目的是要千位數相加

所以計算部分,分成千位、百位、十位、個位四個區域來做相加
還記得加法晶片組?

現在我把這個晶片組化減成這樣
我現在有了一個全新的組合晶片
怎麼用呢?
還記得剛剛不是分成4個區域
先講個位數區好了
可能是XXX9+XXX9
個位數區最高就是9+9了
9+9的話,照理來說 應該要進位+1顯示8
但是如果你實際上放在那個晶片裡會是進位+1顯示2
為什麼呢?
因為進位一次對那個晶片來說,他是2進位制的
進位亮,代表著16,並不是10
所以他會顯示2並不是8
18=16+2=10+8
解決方法很簡單

還給他6就好了
2+6=8
顯示8就對了

除此之外還有一些進位的可能

舉例來說9+3
1001+0011=1100
不會超過1111,不會超過15的數字,又要10以上的

用Z來當未知數
4位元超過的可能性就這兩種
1Z1Z、11ZZ
Z不管填0還1都會超過10

所以只要再做兩個判斷的條件

先判斷是否為1Z1Z

是:拿掉兩個1,變成0Z0Z,且進位+1
否:不管他,訊號不改變

後判斷是否為11ZZ

是:拿掉兩個1,變成00ZZ,還給他2,+0010,且進位+1
否:不管他,訊號不改變

最後的晶片圖就變成這樣

然後再把1個區 複製成4個區
把他們組合起來


介紹到這,可能有一些人已經會做
而且做出來了

如果不會做的人,就開始期待下一次教學吧!XD



請養成回復的好習慣~~~

目前在Eternal Soul 團隊  擔任小小紅石研究員
RC:25548097
RCID:hank85627


       
36
-
板務人員:

1308 筆精華,昨天 更新
一個月內新增 4
歡迎加入共同維護。


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】