计算机系统基础:程序与运算
生活随笔
收集整理的這篇文章主要介紹了
计算机系统基础:程序与运算
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 布爾代數和基本邏輯電路
- 無符號數加法器
- 整數加減運算器
- 從c表達式到邏輯電路
- 整數的乘運算
- 整數乘法漏洞精講例題
- 整數除法運算
- 一個牛逼的除法運算函數
- 浮點加減運算
- 異常經典案例
- 浮點運算的精度
- 浮點數運算比較經典案例
- 浮點數運算精度舉例(愛國者導彈)
布爾代數和基本邏輯電路
真值表:0 1 運算的核心基礎
無符號數加法器
全加器:
即考慮低位的進位標志符,又考慮當前運算向不向高位進位
n位加法器:充分解釋了一位加法器的設計緣由,低高進位的設計很合理
零標志ZF = 1,補碼特意留下的一種特殊編碼
整數加減運算器
整數加減部件核心
從c表達式到邏輯電路
整數的乘運算
兩個運算數應該是同一個類型,如果不是會先轉化為同一個類型,(常常會自動執行類型提升操作)
整數乘法可以寫表達式判斷是否溢出,簡單的將乘出來的數再除以一個因子看等不等于另一個因子
整數的溢出可以在機器數級別上對高位符號判斷
整數乘指令的溢出判定可以通過對高位結果進行分析,n*n 位會得到2n位
整數乘法漏洞精講例題
變量乘法用移位操作更方便
整數除法運算
整數除只有一種情況會發生溢出
一般整數除法會向0舍入
整數除0的結果無法表示
除法指令可能被優化成取反指令
除法運算時間周期長比乘法周期長,可以整除就用移位
整數除法舍入的原理:
一個牛逼的除法運算函數
浮點加減運算
浮點數運算:規格化格式
階碼可能溢出
尾數溢出,結果可以不溢出
對幾種異常情況的定義
浮點數的一些異常可以被處理,程序可以繼續運行
異常經典案例
浮點數的對階過程導致小數很多有效位被舍去
尾數移位和階碼加減同步保持數據表示的正確性
浮點運算的精度
float 單精度,有效位數只有24位,所以從int 到float可能會有數據舍入,但是double就不會
浮點數運算比較經典案例
浮點數不滿足加法結合律
浮點數運算精度舉例(愛國者導彈)
總結
以上是生活随笔為你收集整理的计算机系统基础:程序与运算的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 快速傅里叶变换之后的结果含义
- 下一篇: 计算机系统 程序和指令