電腦通識(一)

電腦通識

資訊編碼

進位轉換

進位轉換在很多地方都能用到,從高中的數學到現在的實際開發中,實際開發中的多媒體數據採集、分割、壓縮、編解轉碼、傳輸、糾錯、合併等工作都與它息息相關。

進位定義

  • 二進位:是指在數學和數字電路中以 2 為基數的記數系統,二進位只有 0 和 1 兩個數 字元號,其運算規律是逢 2 進 1,例如 101101。為了與其他進位區別,二進位數的後綴都 用大寫字母 B,例如 101101B;
  • 八進位:一種以 8 為基數的計數法,採用 0,1,2,3,4,5,6,7 這八個數字元號, 其運算規律是逢 8 進 1,例如 77。為了與其他進位區別,八進位數的後綴都用大寫字母 O (不是數字 0),例如 77O;
  • 十進位:一種以 10 為基數的計數法,採用 0,1,2,3,4,5,6,7,8,9 這十個 數字元號,其運算規律是逢 10 進 1,例如 88。為了與其他進位區別,十進位數的後綴都 用大寫字母 D,例如 88D;
  • 十六進位:一種以 16 為基數的計數法,採用 0,1,2,3,4,5,6,7,8,9,A, B,C,D,E,F 這十六個數字和字母符號,其運算規律是逢 16 進 1,例如 9527。為了 與其他進位區別,十六進位數的後綴都用大寫字母 H,例如 9527H;

進位間轉換

二進位轉其他進位
  • 二進位轉十進位:採用位置計數法,其位權是以 2 為底的冪,順序從右到左,從 0 開 始計數。例如二進位數 1011B = 1 * 23 + 0 * 22 + 1 * 21 + 1 * 20 = 11D

  • 二進位轉八進位:採用三合一,即從二進位的小數點為分界點,向左(或向右)每三 位對應八進位的一位,不足三位的前面補 0,例如:10110011B = (0)10 110 011 = 263O;

  • 二進位轉十六進位:採用四合一法,即從二進位的小數點為分界點,向左(或向右)每 四位對應十六進位的一位,不足四位的前面補 0,例如:10110011B = 1011 0011 = B3H;

十進位轉其他進位

十進位轉二進位:整數採用「除 2 倒取余」,小數採用「乘 2 取整」;

img

十進位轉八進位十六進位和二進位一樣;


資訊單位

單位分類

  • 存儲單位:存儲在電腦硬碟或記憶體中的資訊容量標準,最小計量單位是「位」(bit, 比特),一個比特位表示一個二進位的 0 或 1 在電腦中所佔用的存儲空間;
  • 傳輸單位:在電腦網路中稱為頻寬,寬頻傳輸速率的單位為 bps,bps 是 bit per second 的縮寫,表示每秒鐘傳輸多少比特位資訊(很多人都會把這裡的 bit 誤以為是 Byte, 也就是錯把位當成位元組),例如:頻寬的單位是 10Mb/s,這裡其實指的是每秒傳輸 10 兆 位,而不是 10 兆位元組數據,因此將位數需要除以 8 換算成位元組數,也就是每秒傳輸 1.25 兆位元組,即 10Mbit/s = 1.25MByte/s(重點)

換算公式

1 位元組(Byte)= 8 位(bit)

1KB(Kilo Byte,千位元組)= 1024B(Byte)

1MB(Mega Byte,兆位元組)= 1024KB

1GB(Giga Byte,吉位元組)= 1024MB

1TB(

Tera Byte,太位元組)= 1024GB

1PB(Peta Byte,拍位元組)= 1024TB

1EB(Exa Byte,艾位元組)= 1024PB

1ZB(Zeta Byte,澤位元組)= 1024EB

1YB(Yotta Byte,堯位元組)= 1024ZB

1BB(Bronto Byte,珀位元組)= 1024YB

1NB(Nona Byte,諾位元組)= 1024BB

1DB(Dogga Byte,刀位元組)= 1024NB


奇偶校驗

根據傳輸的二進位數據和奇偶校驗位中「1」的個數進行校驗。如果連同校驗位中「1」 的個數是奇數,就是奇校驗;反之,就是偶校驗

多媒體基礎參數

所謂多媒體(Multimedia)指的是多種媒體的綜合,一般包括影像、聲音和影片等形 式或者它們的組合。可以通過基礎參數來衡量多媒體文件品質的好壞;

參數定義

  • 比特率:音影片、影像都可以採用這個指標,它指的是規定時間內傳輸的比特數,單位 是 bps(bit per second),比特率越高,數據傳輸的速度就越快,流媒體的播放品質就越 好(音影片越清晰),所需頻寬也越大,比特率有時候也和碼率混為一談,但碼率的單位一 般是 kbps(千位每秒);
  • 影片碼率:是指一個影片流在單位時間內傳輸的數據量,也叫碼流率。碼率越大,說明 單位時間內取樣率越大,這樣表現出來的的效果就是:影片畫面更清晰畫質更高;
  • 音頻碼率:和影片碼率類似,是指一個音頻流在單位時間內傳輸的數據量;
  • 取樣率:專用於音頻多媒體,也稱為取樣速度或者取樣頻率,它定義了每秒從連續訊號 中提取並組成離散訊號的取樣個數,單位為赫茲(Hz)。取樣率的意義在於將模擬訊號轉 換成數字訊號時,單位時間內取樣多少個數據點,常用的取樣率為 44.1KHz,表示 1 秒鐘 內的取樣數據點是 44100 個;
  • 取樣位深:也被稱為取樣精度,單位為 Bit,常見的位深有 16Bit 和 24Bit,它其實就 是每個取樣樣本中資訊的比特數;

計算公式

  • 影片碼率計算公式(kbps,千比特每秒) = 文件大小(Kilo Byte,千位元組)× 8 / 秒 數(注意:這裡的文件大小單位是 千位元組 而非 千比特 ,所以需要將文件大小乘以 8,因 為 1 Byte = 8 Bit)
  • 音頻碼率計算公式(KBPS,千位每秒) = 取樣率 × 取樣位深 × 通道數

數據結構常識

數據結構是電腦存儲、組織數據的方式。數據結構是指相互之間存在一種或多種特定關係的數據元素的集合。數據結構反映數據的內部構成,即數據由那部分構成

常見數據結構

數組(Array):它是將具有相同類型的若干數據組織在一起的集合,這是一種最基本 而且也是一種最經常使用的數據結構;

img


棧(Stack):一種特殊的線性表,只能在一個表的固定端進行數據節點的插入和刪除 操作,棧正是一種按照後進先出(LIFO)的原則來存儲數據的數據結構;

img


隊列(Queue):和棧類似,但不同的是,它是在一端執行入隊操作,而在另一端進行出隊操作 ;

image


鏈表(Linked List):它和數組一樣,也是一組數據的集合,但和數組不一樣的是, 它並不是一組連續的數據集合,而是通過指針連接在一起的;

image


樹(Tree):這是一種典型的非線性結構,之所以叫做「樹」,是因為它的結構看起 來就像一顆倒過來的樹,它只有一個根結點,但可以有多個後繼節點;

image


堆(Heap):它是一種特殊的樹型結構,它的特點是根結點的值是所有節點中最大或 者最小的,而且根結點的子節點也是一個堆結構;

最小堆

image

最大堆

image


圖(Graph):這也是一種非線性數據結構,在圖結構中,數據節點稱為頂點,頂點之間的連線稱為邊;

有向圖

image

無向圖

image


散列表(Hash):這種數據結構來源於散列函數,它的思想是如果存在 x,那麼就必 然有一個唯一的存儲位置 f(x)可以找到 x,這樣通過數學函數就直接計算出 x 的存儲位置而 不用在進行比較、查找以後才知道;

image


演算法常識

演算法(Algorithm)是對方案的一種描述,對於電腦來說,它是一系列解決問題的計 算步驟。演算法的意義在於,在各種不同的解決方法之中,找到那個效率最高的;

常見演算法

  • 二分查找:又叫折半查找,它要求列表必須是有序的。它的原理是每次都把待比較元素 A 和列表中間的元素 B 進行比較,如果 A 小於 B,那麼 A 再和位於 B 前半部分的元素進行 比較,並且再次選擇中間元素進行比較,直到比較完所有元素為止;
  • 冒泡排序:它重複地走訪過要排序的數列,一次比較兩個元素,如果它們的順序錯誤就 把它們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經 排序完成。這個演算法的名字由來是因為越小(大)的元素會經由交換慢慢「浮」到數列的頂 端

👉[演算法動態演示](Brute Force - Bubble Sort (algorithm-visualizer.org))