(2024-2025-1)20241420《計算機基礎與程式設計》第四周學習總結

任与生發表於2024-10-20

學期(如2024-2025-1)20241420《計算機基礎與程式設計》第四周學習總結

<班級連結>https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP/join?id=CfDJ8AOXHS93SCdEnLt5HW8VuxQ23KfVCDd17M92RURIJwdTBPMF7locrEwU_PbdKakofz0zTbJuc7KceG9Y6oQCShgfHFT19twYLe61kME6CedB920aZMY90TR1BJoIekMfCQXD2yhv5D-jTBrh3BU7q18
<作業要求連結>https://www.cnblogs.com/rocedu/p/9577842.html#WEEK04

教材學習內容總結

邏輯閘是數位電路中的基本元件,用於基於輸入訊號的二進位制值(0或1)產生輸出訊號。以下是六種基本的邏輯閘及其工作原理:
1. 非門(NOT Gate):
功能:非門,也稱為反相器,接收一個輸入訊號,如果輸入是0,則輸出1;如果輸入是1,則輸出0。
布林表示式:X = \overline{A} 或 X = A'
真值表:
\begin{array}{|c|c|} \hline A & X \ \hline 0 & 1 \ 1 & 0 \ \hline \end{array}
2. 與門(AND Gate):
功能:與門接收兩個輸入訊號,只有當兩個輸入都是1時,輸出才是1。
布林表示式:X = A \cdot B 或 X = AB
真值表:
\begin{array}{|c|c|c|} \hline A & B & X \ \hline 0 & 0 & 0 \ 0 & 1 & 0 \ 1 & 0 & 0 \ 1 & 1 & 1 \ \hline \end{array}
3. 或門(OR Gate):
功能:或門接收兩個輸入訊號,如果至少有一個輸入是1,則輸出是1。
布林表示式:X = A + B
真值表:
\begin{array}{|c|c|c|} \hline A & B & X \ \hline 0 & 0 & 0 \ 0 & 1 & 1 \ 1 & 0 & 1 \ 1 & 1 & 1 \ \hline \end{array}
4. 異或門(XOR Gate):
功能:異或門接收兩個輸入訊號,當輸入訊號不同時,輸出是1;當輸入訊號相同時,輸出是0。
布林表示式:X = A \oplus B
真值表:
\begin{array}{|c|c|c|} \hline A & B & X \ \hline 0 & 0 & 0 \ 0 & 1 & 1 \ 1 & 0 & 1 \ 1 & 1 & 0 \ \hline \end{array}
5. 與非門(NAND Gate):
功能:與非門是與門的反相版本,它接收兩個輸入訊號,只有當兩個輸入都是1時,輸出才是0,否則輸出是1。
布林表示式:X = \overline{A \cdot B} 或 X = (A \cdot B)'
真值表:
\begin{array}{|c|c|c|} \hline A & B & X \ \hline 0 & 0 & 1 \ 0 & 1 & 1 \ 1 & 0 & 1 \ 1 & 1 & 0 \ \hline \end{array}
6. 或非門(NOR Gate):
功能:或非門是或門的反相版本,它接收兩個輸入訊號,只有當兩個輸入都是0時,輸出才是1,否則輸出是0。
布林表示式:X = \overline{A + B} 或 X = (A + B)'
真值表:
\begin{array}{|c|c|c|} \hline A & B & X \ \hline 0 & 0 & 1 \ 0 & 1 & 0 \ 1 & 0 & 0 \ 1 & 1 & 0 \ \hline \end{array}
這些邏輯閘是構建更復雜數字系統的基礎,如計算機處理器、記憶體和各種電子裝置。

一.馮.諾依曼結構的靈魂
早期的計算機設計中,程式和資料是倆個截然不同的概念,資料放在儲存器中,而程式作為控制器的一部分,這樣的計算機計算效率低,靈活性較差。馮.諾依曼結構中,將程式和資料一樣看待,將程式編碼為資料,然後與資料一同存放在儲存器中,這樣計算機就可以呼叫儲存器中的程式來處理資料了。意味著,無論什麼程式,最終都是會轉換為資料的形式儲存在儲存器中,要執行相應的程式只需要從儲存器中依次取出指令、執行,馮.諾依曼結構的靈魂所在正是這裡:減少了硬體的連線,這種設計思想導致了硬體和軟體的分離,即硬體設計和程式設計可以分開執行。
概括的來講,馮.諾依曼結構消除了原始計算機體系中,只能依靠硬體控制程式的狀況(程式作為控制器的一部分,作為硬體存在),將程式編碼儲存在儲存器中,實現了可程式設計的計算機功能,實現了硬體設計和程式設計的分離,大大促進了計算機的發展。
靈魂就是將程式從硬體實現轉換為軟體實現(儲存程式控制原理)。計算機的基本工作原理就是儲存程式控制原理。
二.馮.諾依曼結構的核心設計思想
核心設計思想主要體現在如下三個方面:
程式、資料的最終形態都是二進位制編碼,程式和資料都是以二進位制方式儲存在儲存器中的,二進位制編碼也是計算機能夠所識別和執行的編碼。(可執行二進位制檔案:.bin檔案)
程式、資料和指令序列,都是事先存在主(內)儲存器中,以便於計算機在工作時能夠高速地從儲存器中提取指令並加以分析和執行。
確定了計算機的五個基本組成部分:運算器、控制器、儲存器、輸入裝置、輸出裝置
三.馮諾依曼結構的五個主要組成部分
馮.諾依曼確定了”計算機結構“中的5大部件:
運算器
控制器
儲存器
輸入裝置
輸出裝置
現在看來,運算器和控制器單元整合在CPU中實現,儲存器的容量不斷擴大、輸入輸出裝置不斷更新,這些部件構成了當代計算機硬體系統的基本組成。

函式列表及其功能
第一部分
sqrt(x): 計算x的平方根,x應大於等於0
fabs(x): 計算x的絕對值
log(x): 計算ln x的值,x應大於0
log10(x): 計算lg x的值,x應大於0
第二部分
exp(x): 計算e^x的值
pow(x, y): 計算x^y的值
sin(x): 計算sin x的值,x為弧度值,而非角度值
cos(x): 計算cos x的值,x為弧度值,而非角度值

位運算概述
位運算是指進行二進位制位的運算。
C語言提供的位運算子包括:&(按位與)、|(按位或)、^(異或)、~(取反)、<<(左移)、>>(右移)。
位運算子及其含義
&(按位與):對兩個資料的每一位進行與運算。
0&0=0; 0&1=0; 1&0=0; 1&1=1
|(按位或):對兩個資料的每一位進行或運算。
0|0=0; 0|1=1; 1|0=1; 1|1=1
^(異或):判斷兩個相應位的值是否不同,不同為1,相同為0。
0^0=0; 0^1=1; 1^0=1; 1^1=0
~(取反):對一個二進位制數按位取反。
~0=1; ~1=0
<<(左移):將一個數的各二進位制位全部左移若干位。
高位左移後溢位,捨棄不起作用。
左移1位相當於該數乘以2。

(右移):將一個數的各二進位制位全部右移若干位。
右移1位相當於該數除以2。
移到末端的低位被捨棄。

程式碼除錯中的問題和解決過程

  • 問題:科學計數法的表示,函式呼叫,十六進位制八進位制表示
  • 解決方案:查詢Get筆記內容使用%e,函式表格以及進製表示

相關文章