1. 程式人生 > >組建一臺計算機2_硬體2 多位加法器

組建一臺計算機2_硬體2 多位加法器

前言:

放假有一週的時間,到家也有四五天的時間了,這幾天把《code》好好的看了一遍。儘管之前也有草草翻過,但是把時候我就曾告訴自己,無論如何都是要把書中的這些東西都實現一遍的。於是說幹就幹,這幾天基本上就在搞這些東西了。這些學習成果要感謝餘富帥給我傳的軟體以及一些推薦。

=========================================================================

閱讀此文,你需要擁有以下基礎:

1.小學代數相關知識;2.初中電路;3.高中閘電路相關知識;4.本系列之前1節的內容;5.二進位制和十進位制的轉換(這一點不會也沒有關係)。

已經做好了一塊單位加法器,但是單位加法器頂多能告訴你0+0,1+0,1+1,1+1+1等於幾。我想知道15+99(=114)等於幾怎麼辦?

很簡單,只需要把單位加法器串起來形成多位加法器就好了。一般以2的次冪位為機器計算位,這裡以8位為代表,那麼八位加法器應該可以計算2^7=128以內的加法:

image

    image

    image

這樣一來,八個單位加法器僅僅根據前一位的進位輸出連線後一位進位輸入這一準則連成一串,就變成了一個八位加法器。下面給出一種整合檢視:

image

其中最高位的進位輸出到另一個暫存器(或者拋棄),最低位進位輸入為0.

現在如果我想計算15+99等於多少,我只需要輸入15和99的二進位制1111和110 0011:

image

其中小紅框為第一個加數15的二進位制0000 1111(最低位在最上方),小藍框為第二個數99的二進位制0110 0011(最低位在最上方),右側的大紅框就已經得出結果了:0111 0010 轉化為十進位制就是114,和口算的相符。

如果你還想計算更大的數字比如在c語言中支援的64位longlong型整形相加,那麼你就應該設計一個64位加法器。但是這裡提出兩個問題:

1.如果我想讓兩個特別特別大以至於100位都存不下的數字相加怎麼辦?

2.我的加法運算中有負數怎麼辦?

首先第一個問題,可以在c語言中轉化為字串問題進而轉化為32位int型相加,也可以用java中的big integer類進行運算。無論怎樣,結果都是要轉化為64位及以內數字相加的。

但是第二個問題我們無論如何也避免不了了,這將是以後我們設計減法器要考慮的問題(負數運算可以認為(或者轉化為)減法)。

至此,一個unsign型別的多位加法器就設計好了。

相關推薦

組建計算機2_硬體2 法器

前言: 放假有一週的時間,到家也有四五天的時間了,這幾天把《code》好好的看了一遍。儘管之前也有草草翻過,但是把時候我就曾告訴自己,無論如何都是要把書中的這些東西都實現一遍的。於是說幹就幹,這幾天基本上就在搞這些東西了。這些學習成果要感謝餘富帥給我傳的軟體以及一些推薦。 ================

組建計算機3_硬體3 運算器

前言: 放假有一週的時間,到家也有四五天的時間了,這幾天把《code》好好的看了一遍。儘管之前也有草草翻過,但是把時候我就曾告訴自己,無論如何都是要把書中的這些東西都實現一遍的。於是說幹就幹,這幾天基本上就在搞這些東西了。這些學習成果要感謝餘富帥給我傳的軟體以及一些推薦。 ================

組建計算機5_硬體5 儲存器&累加器&初始彙編(1)

閱讀此文,你需要擁有以下基礎: 1.能理解本系列第2節和第4節;2.已經閱讀了第4節。 ========================================================================= (為什麼mac總是配圖失敗呢,,)   很久沒有更新本系列了誒

組建計算機1_硬體1 單位法器

前言: 放假有一週的時間,到家也有四五天的時間了,這幾天把《code》好好的看了一遍。儘管之前也有草草翻過,但是把時候我就曾告訴自己,無論如何都是要把書中的這些東西都實現一遍的。於是說幹就幹,這幾天基本上就在搞這些東西了。這些學習成果要感謝餘富帥給我傳的軟體以及一些推薦。 ================

組建計算機4_硬體4 單位儲存器

前言: 放假有一週的時間,到家也有四五天的時間了,這幾天把《code》好好的看了一遍。儘管之前也有草草翻過,但是把時候我就曾告訴自己,無論如何都是要把書中的這些東西都實現一遍的。於是說幹就幹,這幾天基本上就在搞這些東西了。這些學習成果要感謝餘富帥給我傳的軟體以及一些推薦。 ================

centos7.5主機實現實例mysql

mariadb mysl shutdown shu config 端口 symbol starting def 實驗:一臺centos7.5主機實現多實例mysql規劃: 3306 3307 3308 端口,共3個實例目錄: /data/mysql{3306,3

電腦上單獨部署個獨立的tomcat 服務

1.首先下載tomcat (解壓版的); 2.配置環境變數 CATALINA_BASE 和  CATALINA_HOME     如圖 3.修改conf/server.xml 中的埠 <Server port

如何理解伺服器可以繫結個ip,一個ip可以繫結個域名

一個域名只能對應一個IP的意思是域名在DNS伺服器裡做解析的時候 一條記錄只能指向一個IP地址。這個是死規定,試想一下,如果一個子域名指向了2個ip ,當訪問者開啟這個域名的時候,瀏覽器是展示哪個IP上的網站呢?一個IP可以對於多個域名的意思是:一個IP繫結到一臺伺服器的時候,在伺服器上可以設定多個主機頭,每

Nginx機器上負載均衡個Tomcat

預設你的機器上安裝了Java環境,解壓了Tomcat,安裝了Nginx。預設這幾個tomcat都部署在一臺機器上。   對於Tomcat需要改三個地方【你部署的所有tomcat這三個地方都不能一樣,如果你部署在不同機器上就不用改了】 vi [你的tomcat路徑]/conf/

把資料通過串列埠或USB以1秒間隔實時發給另外計算機,在另外計算機上以同樣方式顯示條形圖或趨勢曲線。

前面兩篇文章已經講過了隨機資料產生,繪製直方圖,趨勢圖,資料儲存,串列埠傳送。接下來則是串列埠接收部分的程式。 注意:如果在一臺電腦上進行除錯,需要用虛擬串列埠軟體把串列埠1,2連結起來。 // 作業Dlg.cpp : 實現檔案 // #includ

將檔案從linux機器拷貝到的方法

首先你所操作的各臺linux機器間必須設定了ssh免密碼登入,具體方法可上網檢視。將檔案從一臺linux機器拷貝到多臺分為以下幾個步驟: 第一步:建立指令碼檔案remotecopy.sh #!/bin/bash while getopts f: OPT; do case

修改tomcat埠,使機器同時執行2個tomcat

當第一個tomcat啟動後,後面tomcat的server.xml中的埠不管怎麼改,仍然會報埠衝突。後來在dos下執行才發現所有的tomcat都會去找CATALINA_HOME和CATALINA_BASE這兩個環境變數,因此步驟如下:  1.使用壓縮版的tomcat不能使用

電腦上如何配置個版本JDK,並進行自由切換

針對單個JDK的安裝非常簡單,網上資料很多,在這裡就不作講述。接下來講一下多版本的切換,以jdk從1.7切換到1.6為例,操作步驟如下: 1.修改登錄檔:HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Runtime Environm

如何在電腦上同時啟動個tomcat

學習Javaweb開發有一段時間了,在開發過程中一直用的是一個Tomcat,最近開發與同時聯調,為了不影響開發進度,本人想給他單獨開一個伺服器供他聯調使用,於是在網上找了好多資料,有的說增加環境變數C

ECS伺服器,部署(兩)應用,且應用配置不同域名

場景 產品環境伺服器有兩臺,前後端各分配一臺伺服器。現在在不增加機器的情況下,需要增加部署一套服務給臺北地區服務。 現有的前端部署方案。 產品環境部署方案詳解 實現 配置NAT步驟 ECS配置多網絡卡,以及網絡卡繫結私有IP。參考 建立NAT閘道器。 建立兩個EIP。 配置D

在安裝Win7時,出現提示“Windows無法安裝到這個磁碟。這計算機硬體可能不支援啟動到此磁碟。請確保在計算機的bios選單中啟用了磁碟的控制器。”

        博主為小白,我在通過U盤安裝win7系統的過程中遇到了很多問題。在這裡向大家分享其中之一的解決方法。        博主電腦型號:話說(ASUS) VM590Z題外話,在安裝win7時需要將U盤插入usb2.0的插口中,避免安裝過程中的USB驅動問題。接下來回

發現機器中同時執行個Oracle例項時。。。

發現一臺機器中同時執行多個Oracle例項時,最好保證 [OracleHome]/network/admin/listener.ora 檔案的 SID_LIST_LISTENER 段中 要對應每個例項都有一段宣告 其實這是個很簡單的問題,呵呵,只是偶以前一直沒留意過,今天剛剛

java實現遠端喚醒計算機

1. 在BIOS設定支援網路喚醒大多數整合網絡卡都能實現網路喚醒功能,不過需要事先進入BIOS中開啟網路喚醒功能,不同主機板的設定不一樣,以VIA 主機板為例,在BIOS中找到“OnBoard LAN”選項,將它設成“Enabled”。同時將“POWER MANAGEMENT

從微軟的萬物互聯到騰訊的三網:當今世界就是計算機

智造觀點如今,以物聯網、人工智慧、大資料、雲端計算等技術為核心的科技研究已成為了不

【Jboss】伺服器上如何部署個jboss

一臺伺服器上如何部署多個jboss呢?直接把整個部署環境copy一份到相應的目錄下?這樣只是前提,但是啟動複製後的jboss就會發現,有很多埠被佔用3873,8080,8009,8443,8083,1098,1099,4444,4445,4446等很多埠都會提示already