? ? ? ? ? ?【核知坊】:釋放青春想象,碼動全新視野。? ? ? ? ??
? ? ? ? ? ? 我們希望使用精簡的信息傳達知識的骨架,啟發創造者開啟創造之路!!!? ? ? ? ??
內容摘要:?二進制是計算機世界的基石,數學是世界的基石(dog)。本文將簡要介紹二進制基本運算,布爾運算,移位運算等,介紹了使用數字對事物進行編碼表示。
關鍵詞:二進制 ?二進制運算 ?二進制編碼
其他相關文章:
[計算機科學#3]:布爾邏輯 (計算機數學基礎)-CSDN博客
[計算機科學#1]:計算機的前世今生,從算盤到IBM的演變之路-CSDN博客
[計算機科學#2]:從繼電器到晶體管的電子計算機發展史(龐然大物的進化)-CSDN博客
1.二進制運算
二進制與十進制之間的關系已經在上一篇文章講解過,本段內容將介紹二進制運算法則。
1.1 基礎運算
1.1.1 加法
-
0 + 0 = 0
-
0 + 1 = 1
-
1 + 0 = 1
-
1 + 1 = 10(逢二進一)
1.1.2 減法
-
0 - 0 = 0
-
0 - 1 =-1
-
1 - 0 = 1
-
1 - 1 = 0
1.1.3 乘法
-
0 × 0 = 0
-
0 × 1 = 0
-
1 × 0 = 0
-
1 × 1 = 1
1.1.4 除法
二進制除法類似于十進制除法,但更簡單。基本規則是逐位相除,直到余數小于除數。
1011 ÷ 10 = 101...1 (11 ÷ 2 = 5...1)
1.2 邏輯(布爾)運算
1.2.1 邏輯與(AND)
-
0 AND 0 = 0
-
0 AND 1 = 0
-
1 AND 0 = 0
-
1 AND 1 = 1
1.2.2 邏輯或(OR)
-
0 OR 0 = 0
-
0 OR 1 = 1
-
1 OR 0 = 1
-
1 OR 1 = 1
1.2.3 邏輯非(NOT)
-
NOT 0 = 1
-
NOT 1 = 0
1.2.4 邏輯異或(XOR)
-
0 XOR 0 = 0
-
0 XOR 1 = 1
-
1 XOR 0 = 1
-
1 XOR 1 = 0
1.3 移位運算
1.3.1 左移(<<), 補0
左移一位相當于乘以2
?1011 << 1 = 10110
1.3.2 右移(>>)
右移一位相當于除以2(取整)
?1011 >> 1 = 101
1.4 原碼|反碼|補碼
1.4.1 原碼
原碼是計算機中表示整數的一種最簡單的方式,它直接用二進制表示數值的絕對值,并在最高位用一個符號位表示正負。
符號位:0表示正數;1表示負數;數值位,直接表示數值的絕對值。有兩個表示零的值:00000000
(正零)和 10000000
(負零)。
1.4.2 反碼
反碼是對原碼的一種改進,主要用于簡化加法運算。反碼的計算方法如下:
正數的反碼:與原碼相同。
負數的反碼:將原碼的數值位取反(0變1,1變0),符號位保持不變。
仍然有兩個表示零的值:00000000
(正零)和 11111111
(負零)。
1.4.3 補碼
補碼是現代計算機中表示有符號整數的最常用方式。補碼的計算方法如下:
正數的補碼:與原碼相同。
負數的補碼:負數的補碼是其反碼加1。
只有一個表示零的值:00000000
。
2.常見計算機存儲單位
在計算機中的數據的底層都是二進制,為了估計數據量的大小,于是規定了以下單位:
單位 | 簡稱 | 換算關系 |
---|---|---|
位 | bit | 1 bit |
字節 | byte | 基本單位 8 bits |
千字節 | KB | 1 KB = 1024 bytes |
兆字節 | MB | 1 MB = 1024 KB = 1,048,576 bytes |
吉字節 | GB | 1 GB = 1024 MB = 1,073,741,824 bytes |
太字節 | TB | 1 TB = 1024 GB = 1,099,511,627,776 bytes |
拍字節 | PB | 1 PB = 1024 TB = 1,125,899,906,842,624 bytes |
艾字節 | EB | 1 EB = 1024 PB = 1,152,921,504,606,846,976 bytes |
3.編碼(數字標記)
????????為什么需要編碼?世界上的事物錯綜復雜,數量龐大,為了更好的在計算機中區分事物,我們使用數字對每個事物進行標記,這個標記的過程就叫做編碼。例如一個在上課的教室里有1名教師,30名學生。在計算機表格中我們可以直接為每個人分配一個數,由于人數是有限的,只需要31個數就能對所有人進行標記。這個數可以像一個表格:
二進制序號 | 人物描述 |
---|---|
000 | 教師 |
001 | 學生A |
010 | 學生B |
011 | 學生C |
100 | 學生D |
101 | 學生E |
110 | 學生F |
4.Ascii碼對照表
????????ASCII碼(美國信息交換標準代碼)是一個基于英文字符的編碼系統,用于將字符(字母、數字、符號等)映射為二進制數。以下是ASCII碼表的部分內容,展示了一些常用的字符及其對應的十進制和二進制表示,總共128個字符。
十進制 | 二進制 | 字符 | 十進制 | 二進制 | 字符 | 十進制 | 二進制 | 字符 |
---|---|---|---|---|---|---|---|---|
0 | 00000000 | NUL | 32 | 00100000 | 空格 | 64 | 01000000 | @ |
1 | 00000001 | SOH | 33 | 00100001 | ! | 65 | 01000001 | A |
2 | 00000010 | STX | 34 | 00100010 | " | 66 | 01000010 | B |
3 | 00000011 | ETX | 35 | 00100011 | # | 67 | 01000011 | C |
4 | 00000100 | EOT | 36 | 00100100 | $ | 68 | 01000100 | D |
5 | 00000101 | ENQ | 37 | 00100101 | % | 69 | 01000101 | E |
6 | 00000110 | ACK | 38 | 00100110 | & | 70 | 01000110 | F |
7 | 00000111 | BEL | 39 | 00100111 | ' | 71 | 01000111 | G |
8 | 00001000 | BS | 40 | 00101000 | ( | 72 | 01001000 | H |
9 | 00001001 | HT | 41 | 00101001 | ) | 73 | 01001001 | I |
10 | 00001010 | LF | 42 | 00101010 | * | 74 | 01001010 | J |
11 | 00001011 | VT | 43 | 00101011 | + | 75 | 01001011 | K |
12 | 00001100 | FF | 44 | 00101100 | , | 76 | 01001100 | L |
13 | 00001101 | CR | 45 | 00101101 | - | 77 | 01001101 | M |
14 | 00001110 | SO | 46 | 00101110 | . | 78 | 01001110 | N |
15 | 00001111 | SI | 47 | 00101111 | / | 79 | 01001111 | O |
16 | 00010000 | DLE | 48 | 00110000 | 0 | 80 | 01010000 | P |
17 | 00010001 | DC1 | 49 | 00110001 | 1 | 81 | 01010001 | Q |
18 | 00010010 | DC2 | 50 | 00110010 | 2 | 82 | 01010010 | R |
19 | 00010011 | DC3 | 51 | 00110011 | 3 | 83 | 01010011 | S |
20 | 00010100 | DC4 | 52 | 00110100 | 4 | 84 | 01010100 | T |
21 | 00010101 | NAK | 53 | 00110101 | 5 | 85 | 01010101 | U |
22 | 00010110 | SYN | 54 | 00110110 | 6 | 86 | 01010110 | V |
23 | 00010111 | ETB | 55 | 00110111 | 7 | 87 | 01010111 | W |
24 | 00011000 | CAN | 56 | 00111000 | 8 | 88 | 01011000 | X |
25 | 00011001 | EM | 57 | 00111001 | 9 | 89 | 01011001 | Y |
26 | 00011010 | SUB | 58 | 00111010 | : | 90 | 01011010 | Z |
27 | 00011011 | ESC | 59 | 00111011 | ; | 91 | 01011011 | [ |
28 | 00011100 | FS | 60 | 00111100 | < | 92 | 01011100 | \ |
29 | 00011101 | GS | 61 | 00111101 | = | 93 | 01011101 | ] |
30 | 00011110 | RS | 62 | 00111110 | > | 94 | 01011110 | ^ |
31 | 00011111 | US | 63 | 00111111 | ? | 95 | 01011111 | _ |
5.Unicode 編碼
????????Unicode 是一種國際通用的字符編碼標準,旨在為世界上所有語言的字符提供統一的編碼方案。它解決了傳統編碼(如ASCII、ISO-8859-1等)在處理多語言文本時的局限性,能夠支持多種語言、符號和表情等。
Unicode 有多種編碼形式,常見的有:
-
UTF-8:可變長編碼,用1到4個字節表示一個字符。兼容ASCII,廣泛用于互聯網和文件存儲。
-
UTF-16:可變長編碼,用2或4個字節表示一個字符。在某些操作系統和編程語言中廣泛使用。
-
UTF-32:固定長度編碼,用4個字節表示一個字符。簡單直接,但占用空間較大。
十六進制編碼 | 字符 | 描述 | 十六進制編碼 | 字符 | 描述 |
---|---|---|---|---|---|
U+0020 | 空格 | U+0030 | 0 | 數字0 | |
U+0021 | ! | 感嘆號 | U+0031 | 1 | 數字1 |
U+0022 | " | 雙引號 | U+0032 | 2 | 數字2 |
U+0023 | # | 井號 | U+0033 | 3 | 數字3 |
U+0024 | $ | 美元符號 | U+0034 | 4 | 數字4 |
U+0025 | % | 百分號 | U+0035 | 5 | 數字5 |
U+0026 | & | 與號 | U+0036 | 6 | 數字6 |
U+0027 | ' | 單引號 | U+0037 | 7 | 數字7 |
U+0028 | ( | 左括號 | U+0038 | 8 | 數字8 |
U+0029 | ) | 右括號 | U+0039 | 9 | 數字9 |
U+002A | * | 星號 | U+003A | : | 冒號 |
U+002B | + | 加號 | U+003B | ; | 分號 |
U+002C | , | 逗號 | U+003C | < | 小于號 |
U+002D | - | 減號 | U+003D | = | 等號 |
U+002E | . | 句號 | U+003E | > | 大于號 |
U+002F | / | 斜杠 | U+003F | ? | 問號 |
U+0030 | 0 | 數字0 | U+0040 | @ | At符號 |
U+0031 | 1 | 數字1 | U+0041 | A | 大寫字母A |
U+0032 | 2 | 數字2 | U+0042 | B | 大寫字母B |
U+0033 | 3 | 數字3 | U+0043 | C | 大寫字母C |
U+0034 | 4 | 數字4 | U+0044 | D | 大寫字母D |
U+0035 | 5 | 數字5 | U+0045 | E | 大寫字母E |
U+0036 | 6 | 數字6 | U+0046 | F | 大寫字母F |
U+0037 | 7 | 數字7 | U+0047 | G | 大寫字母G |
U+0038 | 8 | 數字8 | U+0048 | H | 大寫字母H |
U+0039 | 9 | 數字9 | U+0049 | I | 大寫字母I |
U+0040 | @ | At符號 | U+004A | J | 大寫字母J |
U+0041 | A | 大寫字母A | U+004B | K | 大寫字母K |
U+0042 | B | 大寫字母B | U+004C | L | 大寫字母L |
U+0043 | C | 大寫字母C | U+004D | M | 大寫字母M |
U+0044 | D | 大寫字母D | U+004E | N | 大寫字母N |
U+0045 | E | 大寫字母E | U+004F | O | 大寫字母O |
U+0046 | F | 大寫字母F | U+0050 | P | 大寫字母P |
U+0047 | G | 大寫字母G | U+0051 | Q | 大寫字母Q |
U+0048 | H | 大寫字母H | U+0052 | R | 大寫字母R |
U+0049 | I | 大寫字母I | U+0053 | S | 大寫字母S |
U+004A | J | 大寫字母J | U+0054 | T | 大寫字母T |
U+004B | K | 大寫字母K | U+0055 | U | 大寫字母U |
U+004C | L | 大寫字母L | U+0056 | V | 大寫字母V |
U+004D | M | 大寫字母M | U+0057 | W | 大寫字母W |
U+004E | N | 大寫字母N | U+0058 | X | 大寫字母X |
U+004F | O | 大寫字母O | U+0059 | Y | 大寫字母Y |
U+0050 | P | 大寫字母P | U+005A | Z | 大寫字母Z |
U+0051 | Q | 大寫字母Q | U+005B | [ | 左方括號 |
U+0052 | R | 大寫字母R | U+005C | \ | 反斜杠 |
U+0053 | S | 大寫字母S | U+005D | ] | 右方括號 |
U+0054 | T | 大寫字母T | U+005E | ^ | 上箭頭 |
U+0055 | U | 大寫字母U | U+005F | _ | 下劃線 |
U+0056 | V | 大寫字母V | U+0060 | ` | 重音符 |
U+0057 | W | 大寫字母W | U+007B | { | 左大括號 |
文章總結
????????本文主要介紹了計算機中二進制基本運算規則,常見的計算機存儲單位,編碼方式。
????????感謝閱覽,如果你喜歡該內容的話,可以點贊,收藏,轉發。由于 Koro 能力有限,有任何問題請在評論區內提出,Koro 看到后第一時間回復您!!!
其他精彩內容:
參考內容:
Crash Course Computer Science(Y-T)????????