国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【第二章:數據的表示和運算】

這篇具有很好參考價值的文章主要介紹了【第二章:數據的表示和運算】。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

知識框架

No.0 引言

探討的兩大主題:一步步遞進

  1. 那么現在就需要探究 數據如何以2進制的形式在計算機中表示的呢??
  2. 那么還有就是計算機如何進行數據的算術和邏輯運算的??

No.1 數制與編碼

一、進位計數制及其相互轉換

我們平常使用的是10進制的數據,然而計算機能夠識別的是2進制的01序列串。

主要是權重的不同。一方面符號表示權重,一方面符號的位置表示權重叫位權。比如975;

101001B、1652H、168D

  1. 其它進制數轉換為十進制(不同的數碼位在不同的位置有不一樣的位權)
  2. 二進制<---->八進制、十六進制進行轉換(三個二進制位進行組合、四個二進制位進行組合)
  3. 十進制轉化為---->任意進制(整數和小數部分分別進行處理)。
  1. 真值和機器數;如果十進制數還帶正負怎么辦呢??如何在計算機中以2進制存儲呢?
  2. 真值:符合人類習慣的數字
  3. 機器數:數字實際存到機器里的形式,正負號需要被“數字化”;0正1負。

二、BCD碼

BCD碼包括了三種即三種映射關系;那么引入BCD碼是為了什么呢?

為什么說是二進制編碼的十進制數?答:每四個比特的信息來對應上一個十進制位;

  1. 8421碼:
  2. 余3碼
  3. 2421碼

三、無符號的整數在計算機內部表示和運算

無符號整數:即自然數=0+正整數:”0、1、2、3、4、、、、“

首先是沒有符號,然后只是整數。

兩個大問題:無符號整數,在計算機硬件中如何表示的呢?

? :無符號整數,在計算機內部如何進行加法、減法運算怎么用硬件實現的呢?

1、表示

第一個大問題:無符號整數,在計算機硬件中如何表示的呢?

  1. 假設機器字長是8位的前提下;(當然現實是機器字長通常是64位or32位的)
  2. 也就是說機器字長是限制了每次多少位數字的運算’下面均以是8位的為舉例子。
  3. ①:全部二進制位都是數值位,沒有符號位,第i位的位權是2^i-1.
  4. ②:n bit無符號整數表示范圍0~2^n-1,超出則溢出,意味著該計算機無法一次處理這么多
  5. ③:可以表示的最小的數全0,可以表示的最大的數全1.

【第二章:數據的表示和運算】

2、加法、減法實現

第二個大問題:無符號整數,在計算機內部如何進行加法、減法運算怎么用硬件實現的呢?

  1. 計算機硬件如何做到無符號整數的加法呢?:從最低位開始,按位相加,并往更高位進位
  2. 在加法的時候也就是按照正常的二進制加法進行。而如果溢出的話也就會溢出截斷了。

【第二章:數據的表示和運算】

  1. 計算機硬件如何做到無符號整數的減法呢?:減法的話就不是平常那樣了,要進行特殊處理
  2. ①”被減數” 不變 "減數”全部位按位取反、末位+1,減法變加法
  3. ②從最低位開始,按位相加,并往更高位進位(加法規(guī)則)
  4. ③最高位溢出丟棄,并不影響我們的結果。
  5. 那么為什么多此一舉將減法變成加法呢???
  6. 因為:加法電路造價便宜,減法電路造價昂貴若可將減法轉變?yōu)榧臃ǎ詫p法操作變成等價的加法操作,可以更省錢
  7. 那么為什么可以這樣取反+1等就可以變化等價呢?這里是數論的知識了。

【第二章:數據的表示和運算】

四、帶符號的整數在計算機內部表示和運算

帶符號整數:即整數:”-4、-3、-2、-1、0、1、2、3、4、、、、“

首先是有符號,然后只是整數。

兩個大問題:帶符號整數,在計算機硬件中如何表示的呢?

? :帶符號整數,在計算機內部如何進行加法、減法運算怎么用硬件實現的呢?

? 后面有個總結就是所有的帶符號整數的運算都要先將原碼轉化為補碼然后再進行運算。

1、表示

第一個大問題:帶符號整數,在計算機硬件中如何表示的呢?

  1. 為什么帶符號整數的表示有原碼、反碼、補碼這些東西呢?
  2. 是因為在計算機內部我們表示一個帶符號的數值的時候,同一個含義用不同的編碼方式表示
  3. 當然不同的編碼表示有各自的優(yōu)點和缺點;

1.1、原碼表示

首先帶符號整數表示中現以 原碼為例子:

  1. 假設機器字長是8位的前提下;(當然現實是機器字長通常是64位or32位的)
  2. 所以由于硬件的限制,那么帶符號的整數表示的它的比特位位數是有上限的;
  3. 也就是說機器字長是限制了每次多少位數字的運算’下面均以是8位的為舉例子。
  4. 符號位“0/1”對應“正/負”,剩余的數值位表示真值的絕對值
  5. ②若機器字長n+1位,帶符號整數的原碼表示范圍: 一(2^n-1) ≤x ≤ 2^n-1
  6. ③真值0有兩種形式:+0和-0 ,[+0]:=0,0000000;[-0]原 =1, 0000000

【第二章:數據的表示和運算】

1.2、原碼形式實現加減法運算不行

基于原碼表示的有符號整數,如何實現加減法呢?

  1. 如果我們按照無符號的整數進行 從最低位開始往上加,按位相加(?)。
  2. 但是我們在無符號的整數表示的時候最高位是表示的數值信息,但在這里是符號的信息。所以不行。
  3. 原碼的缺點:符號位不能參與運算,需要設計復雜的硬件電路才能處理,費錢!貴!(也可以但是貴)
  4. 所以 科學家發(fā)明了這樣的方法:用補碼表示真值–符號位可以參與運算。(所以參與運算前都要轉化為補碼)
  5. 即我們在用原碼進行實現加減法的時候不方便,所以要將原碼的表示形式轉化為等價的補碼表示即可。

【第二章:數據的表示和運算】

1.3 補碼表示

如何進行補碼的表示呢在計算機的硬件之中??

其實是 從原碼轉化過來的:原碼–>反碼–>補碼

不管是原碼、反碼、補碼、這三個的最高位都反映了符號位(0正1負),

所以可能轉化為10000000嗎這個形式?是的,當一個有符號數在二進制下的表示的最高位為1時,表示該數是一個負數。在進行原碼轉補碼的時候,如果剛好進位到最高位,將會得到補碼的最高位為1,即10000000。這個補碼所代表的負數通常是最小的負數,也就是-128。因此,當進行原碼轉化為補碼的時候,可能轉換得到10000000這個形式。

只不過是補碼的符號位可以參與運算。?

【第二章:數據的表示和運算】

如何快速的將 原碼和補碼進行相互轉換呢?兩種方式:

第一種計算機中形式:那么計算機中硬件中是如何實現補碼到原碼的轉換的呢?

計算機中是這樣實現的:從補碼出發(fā),符號位不變,然后數值位取反,最后+1

第二種手動形式:如下圖:

【第二章:數據的表示和運算】

1.4 補碼實現加法運算

  1. 從最低位開始,按位相加,(符號位參與運算),并且往最高位進位。
  2. 最后我們只保留更低的八位bit,最前邊的一位給它丟棄。
  3. 最終得到的結果也是補碼的形式,而想要知道數值為多少就需要將這個結果補碼轉化為原碼。

【第二章:數據的表示和運算】

1.5、補碼實現減法運算

  1. 因為加法電路造價便宜,減法電路造價昂貴。若可將減法轉變?yōu)榧臃?,省錢!
  2. 那么怎么轉呢?
  3. 即因為A-B=A+(-B); 然后將這些原碼轉化為補碼然后進行加法運算,然后再將最終的補碼結果轉化為原碼結果。
  4. 由于計算機在一開始就把所有的原碼轉化為補碼了;
  5. 即“被減數(補碼形式)”不變,【“減數(補碼形式)”全部位按位取反、末位+1】變?yōu)閇-B]補,減法變加法
  6. (補碼形式)從最低位開始,按位相加,并往更高位進位。得到最終結果補碼形式。

【第二章:數據的表示和運算】

一個具體的帶符號數的減法例子:

【第二章:數據的表示和運算】

1.6、原碼反碼補碼特性對比

下面的東西都是在 n+1 位bit的合法表示范圍。

各種特性總結如下:

因為補碼的那個最小負數轉化為位數相同的原碼是不可能的。因為范圍限制。

【第二章:數據的表示和運算】

溢出問題:關于兩個數A和B進行某種運算后,是否發(fā)生溢出?―-手算做題可以帶入十進制驗證,是否超出合法范圍

A=-64,B=-64;如果題目是 用 原碼進行 講述 的,那么最后結果保存用原碼的話就會溢出;原碼范圍是-127~127;

而如果A和B都是補碼的形式的話,那么最后結果保存是不會溢出的,因為補碼范圍是-128~127;

1.7、移碼表示

那么怎么得到移碼呢?

從補碼得到:補碼的符號位取反即可。

注意:移碼只能用于表示整數(且是帶符號的整數)

  1. 因為移碼是從補碼進行轉化的,所以一些補碼的特性就可以按照著來;
  2. 補碼0的形式只有一種即0,00000000則[0]的移碼就有一種:1,00000000
  3. 那么補碼的 數據范圍也是 -128~127(前提是n+1位的bit);

【第二章:數據的表示和運算】

【第二章:數據的表示和運算】

五、定點小數的表示和運算

定點的意思是什么呢?定點的意思是小數點的位置固定。

定點數:定點整數即帶符號整數(也就是小數點的位置固定在了最后一位的右下角

? :定點小數(也就是小數點的位置固定在了 符號位的右下角。

  1. 對于第一個大問題表示中,其實也只是臆想,不是一個bit位來存儲的。簡稱規(guī)定。
  2. 定點整數的編碼表示:原碼、反碼、補碼、移碼
  3. 定點小數的編碼表示:原碼、反碼、補碼

5.1、原碼中定點整數和定點小數

下面的都是以8bit位來進行說明的。

小數點的位置不一樣,導致的 各個bit“位權”不一樣。

【第二章:數據的表示和運算】

5.2、定點小數的反碼補碼表示

與帶符號整數的 原碼–》反碼、補碼的轉化形式一模一樣,

5.3、定點小數的加減運算

對兩個定點小數A、B進行加法/減法時,需要先轉換為補碼。

計算機硬件如何做定點小數補碼的加法:

①從最低位開始,按位相加(符號位參與運算),并往更高位進位,

②然后再轉

計算機硬件如何做定點小數補碼的減法:

①“被減數”不變,“減數”全部位按位取反、末位+1,減法變加法;

②從最低位開始,按位相加,并往更高位進位

下面是定點整數和定點小數的比較:如下圖:

【第二章:數據的表示和運算】

小數補碼的加法運算:也是先將各個轉化為補碼再看

反正無論是整數還是小數在進行加法運算的時候,都是要按照那個方法進行

因為計算機為了便宜,計算電路都是一樣的,

【第二章:數據的表示和運算】

No.2 奇偶校驗碼

因為在傳輸的過程中會出現 錯誤之類的,所以我們必須考慮到數據的校驗。

可能計算機元器件發(fā)生故障什么之類的,可能由于環(huán)境的因素噪音的干擾,可能會發(fā)生了位錯誤;01–00

那么我們該怎么才能發(fā)現錯誤呢?

下面是一種可以發(fā)現錯誤的編碼機制:奇偶校驗

  1. 校驗原理:增加一個冗余的校驗位bit
  2. 那么怎么檢測出錯誤呢?
  3. 假設我們采用偶校驗策略:一個bit發(fā)生跳變直接斷定發(fā)生錯誤了,那么發(fā)生兩個bit發(fā)生跳變呢?(檢測不出來局限性)

【第二章:數據的表示和運算】

No.3 算術邏輯單元(ALU)

一、作用,大致原理

下面是介紹的ALU的一些基本作用:

  1. 算術運算:加、減、乘、除等
  2. 邏輯運算:與、或、非、異或等
  3. 輔助功能:移位、求補等

二、加法器的實現

1、一位全加器

是有一個進位的計數的。

【第二章:數據的表示和運算】

2、串行加法器

如何使用上面的一位全加器 如何實現 多位的加法。循環(huán)使用。像那個RNN樣的圖差不多。

【第二章:數據的表示和運算】

3、并行加法器

【第二章:數據的表示和運算】文章來源地址http://www.zghlxwxcb.cn/news/detail-442923.html

到了這里,關于【第二章:數據的表示和運算】的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 線性代數第二章矩陣及其運算詳解

    線性代數第二章矩陣及其運算詳解

    一.線性方程組和矩陣 1.概念 如圖所示,該矩陣稱為 m行n列矩陣 若行數和列數都等于n,則該矩陣稱為 n階方陣 兩個矩陣的行數相等,列數也相等,就稱它們?yōu)?同型矩陣 若A=(aij)和B=(bij)是同型矩陣,且aij=bij(i=1,2,...,m;j=1,2,...,n),則稱 矩陣A與矩陣B相等 ,記作 A=B 2.特殊

    2024年01月25日
    瀏覽(34)
  • Matlab 數字圖像 第二章 矩陣及其運算

    Matlab 數字圖像 第二章 矩陣及其運算

    目錄 2.1 矩陣的創(chuàng)建 2.1.1 直接輸入: 2.1.2 載入外部數據文件 2.1.3 利用內置函數創(chuàng)建 2.2 矩陣的尋訪 2.2.1 下標元素訪問 2.2.2? 訪問單元素 2.3 矩陣的拼接 2.3.1 矩陣拼接符[] 2.3.2? 函數 2.4 矩陣的運算 2.4.1 加減 2.4.2 乘除 2.4.3乘方 2.4.4 按位運算 2.4.5 行列式與秩 2.4.6 逆與跡 2.4.7 矩

    2023年04月09日
    瀏覽(29)
  • 線性代數中涉及到的matlab命令-第二章:矩陣及其運算

    線性代數中涉及到的matlab命令-第二章:矩陣及其運算

    目錄 1,矩陣定義 2,矩陣的運算 3,方陣的行列式和伴隨矩陣? 4,矩陣的逆? 5,克萊默法則? 6,矩陣分塊? 矩陣與行列式的區(qū)別: (1)形式上行列式是數表加兩個豎線,矩陣是數表加大括號或中括號; (2)行列式可計算得到一個值,矩陣不能; (3)兩個行列式相加與兩

    2024年02月08日
    瀏覽(19)
  • 【課后習題】 線性代數第六版第二章 矩陣及其運算 習題二

    【課后習題】 線性代數第六版第二章 矩陣及其運算 習題二

    習題二 1. 計算下列乘積: (1) ( 4 3 1 1 ? 2 3 5 7 0 ) ( 7 2 1 ) left(begin{array}{rrr}4 3 1 \\\\ 1 -2 3 \\\\ 5 7 0end{array}right)left(begin{array}{l}7 \\\\ 2 \\\\ 1end{array}right) ? ? ? 4 1 5 ? 3 ? 2 7 ? 1 3 0 ? ? ? ? ? ? ? 7 2 1 ? ? ? ? ; (2) ( 1 , 2 , 3 ) ( 3 2 1 ) (1,2,3)left(begin{array}{l}3 \\\\ 2 \\\\ 1end{ar

    2024年02月05日
    瀏覽(40)
  • 第二章VHDL基本知識

    第二章VHDL基本知識

    2.1.1 空白符b,t 2.1.2注釋符 單行注釋:// 多行注釋:/*? ? 8/ 2.1.3標識符 字母,數字,符號,下劃線,區(qū)分大小寫,第一個字符必須是字母或者下劃線 2.1.3轉移標識符 以開頭,以空白結尾, 2.1.4 用來VHDL內部使用的詞叫,所有的都是小寫 2.1.5數值 0? 低電

    2024年02月06日
    瀏覽(25)
  • 靜態(tài)時序分析 第二章 基礎知識

    靜態(tài)時序分析 第二章 基礎知識

    目錄 1. 邏輯門單元 2. 門單元的時序計算參數 ??????? 2.1 信號轉換延時(transition delay) ???????? 2.2 邏輯門延時(logic gate delay) 3.? 時序單元相關約束 ??????? 3.1 建立時間(setup time) ??????? 3.2 保持時間(hold time) ??????? 3.3 恢復時間 ??????? 3.4 移除時間 ?????

    2023年04月13日
    瀏覽(28)
  • 第二章(一):Django框架的模型(Model)

    第二章(一):Django框架的模型(Model)

    備注:這里是Django系列文章的所有文章的目錄 第一章(一) : Django框架之創(chuàng)建項目/應用/templates、連接MYSQL、配置日志LOGGING、啟動django項目 第一章(二):Django框架的模式、路由、視圖; 第一章(三):Django框架的視圖函數、視圖類的認識及常規(guī)使用; 第一章(四):Django框架的模板

    2024年02月08日
    瀏覽(54)
  • 第二章 嵌入式系統(tǒng)硬件基礎知識

    第二章 嵌入式系統(tǒng)硬件基礎知識

    (1)信號特性 用 “ 邏輯真 ” “ 1 ” 或 “ 確定 ”來表示 高電平 用?“?邏輯假?”?“?0?”?或?“?不確定?”來表示 低電平 1和0稱為 互補信號 (2)信號轉換 1、數字集成電路的分類 ????????按照開關元件的不同,數字集成電路分為兩大類:一類是 雙極型集成電路

    2024年01月21日
    瀏覽(30)
  • 第二章 系統(tǒng)集成及服務管理知識點1

    這第二章主要講了下集成及服務管理的內容、制度、意義、管理辦法、以及一些管理方面的服務概念。跟著小老弟把內容給歸納歸納,后面來復習的時候也能夠省不少時間! 1信息系統(tǒng)集成及服務管理的內容 在信息化建設過程中,系統(tǒng)集成及服務存在了諸多問題,主要問題:

    2024年02月16日
    瀏覽(19)
  • 第二章:AI大模型基礎知識 2.1 機器學習基礎

    隨著計算機技術的飛速發(fā)展,人工智能已經成為了當今科技領域的熱門話題。在這個過程中,機器學習作為人工智能的一個重要分支,扮演著至關重要的角色。本文將從機器學習的基本概念、核心算法原理、具體操作步驟、實際應用場景等方面進行詳細講解,幫助讀者更好地

    2024年02月21日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包