<aside> ❓ 我們來問一下ChatGPT或Bard:「電腦如何用0與1儲存數字、文字、日期?」
</aside>
Bard的回答:
電腦使用二進制系統來儲存資料,二進制系統只有兩個數字:0 和 1。一個位元(bit)可以代表一個二進制數字。8 個位元可以組成一個字節(byte),一個字節可以代表一個字符。
數字
電腦使用二進制數字來儲存數字。例如,數字 1 可以表示為 00000001,數字 2 可以表示為 00000010,以此類推。
文字
電腦使用 ASCII 碼表來儲存文字。ASCII 碼表將每個字符映射到一個 8 位元數字。例如,字符 "A" 可以表示為 01000001,字符 "B" 可以表示為 01000010,以此類推。
日期
電腦使用日期格式來儲存日期。例如,日期 "2023-09-24" 可以表示為 2023 09 24。
具體說明
數字
電腦使用二進制數字來儲存數字。例如,數字 1 可以表示為 00000001,數字 2 可以表示為 00000010,以此類推。
當我們輸入一個數字時,電腦會將其轉換為二進制數字。例如,當我們輸入數字 1 時,電腦會將其轉換為 00000001。
電腦使用二進制數字來儲存數字,因為二進制數字是電腦可以理解的唯一數字系統。
文字
電腦使用 ASCII 碼表來儲存文字。ASCII 碼表將每個字符映射到一個 8 位元數字。例如,字符 "A" 可以表示為 01000001,字符 "B" 可以表示為 01000010,以此類推。
當我們輸入一個字符時,電腦會使用 ASCII 碼表將其轉換為 8 位元數字。例如,當我們輸入字符 "A" 時,電腦會使用 ASCII 碼表將其轉換為 01000001。
電腦使用 ASCII 碼表來儲存文字,因為 ASCII 碼表是一種通用的文字編碼,可以被所有電腦使用。
日期
電腦使用日期格式來儲存日期。例如,日期 "2023-09-24" 可以表示為 2023 09 24。
當我們輸入一個日期時,電腦會將其拆分為年、月和日。例如,當我們輸入日期 "2023-09-24" 時,電腦會將其拆分為 2023、09 和 24。
電腦使用日期格式來儲存日期,因為日期格式是一種通用的日期表示方法,可以被所有電腦使用。
ChatGPT的回答:
電腦使用二進制(0和1)來儲存數字、文字和日期。以下是如何進行的簡要說明:
- 數字:
- 整數:電腦使用二進制來表示整數,每個位元(bit)可以是0或1,並且可以組合成二進制數字。例如,十進制的數字42在二進制中是101010。
- 浮點數:浮點數用於表示帶有小數部分的數字。電腦使用IEEE 754標準來儲存浮點數,其中包括符號位元、指數位元和小數部分。
- 文字:
- 文字字符:電腦使用字符編碼(如ASCII或Unicode)來將文字字符映射為二進制數字。每個字符都有一個對應的二進制碼。例如,ASCII中的字母'A'的二進制碼是01000001。
- 字符串:字符串是字符的序列,可以用一系列字符的二進制表示來儲存。
- 日期和時間:
- 日期和時間通常以特定的格式儲存,例如UNIX時間戳,它是從1970年1月1日00:00:00 UTC開始的秒數。這個數字被轉換為二進制,以便在電腦中儲存和處理。
總之,電腦使用二進制數字表示各種類型的數據,具體的表示方法取決於數據的類型和所使用的格式。這些數字可以在計算機上進行處理、儲存和傳輸,並根據需要轉換為人類可讀的形式。
電腦如何以二進位表示數字?
以8個bit為例,二進位的表示如下:
其實,以10進位而言,324其實就是310$^2$+210$^1$+4*10$^0$
所以,以2進位而言,00000100就是02$^7$+02$^6$+02$^5$+02$^4$+02$^3$+12$^2$+02$^1$+02$^0$=0+0+0+0+0+4+0+0
再看一個數字,以2進位而言,01000100就是02$^7$+12$^6$+02$^5$+02$^4$+02$^3$+12$^2$+02$^1$+02$^0$=0+64+0+0+0+4+0+0=68
所以,以2進位而言,11111111就是12$^7$+12$^6$+12$^5$+12$^4$+12$^3$+12$^2$+12$^1$+12$^0$=128+64+32+16+8+4+2+1=255
也就是8個bit所能表達的最大整數了
<aside> 💡 所以,電腦儲存整數不是無窮無盡的,還是會爆掉的~
</aside>