歡迎進入“1”和“0”的花花世界,上篇給大家介紹的是邏輯門的一些邏輯關系,這篇我們來討論一下由“1”和“0”組成的二進制是怎么回事?它倆又是怎樣對數字、字母和字符等進行表示的呢?讓我們一起來探個究竟吧!
二進制怎樣表示十進制數字呢?
其實用二進制表示十進制的數字也是一串數字,只是這串數字只會出現0和1,而十進制可以出現0~9中的任何一個。
看個例子:用二進制表示十進制數字7,如下:
0111(二進制)=7(十進制)
十進制數字是遇9進1,二進制則是遇2進1。
那10110111(二進制)表示的十進制數字是多少呢?看下圖
再看看二進制數的計算,不知道你還記得多少?看下圖溫故一下吧!
在二進制中,每個“1”或“0”叫做一個“比特(bit)”。在10110111(二進制)這個例子里,我們用了8個比特,8個比特可以表示數的范圍為0~255共256個數字,最小數為0,即00000000。
最大數為255,即11111111。
我們經常會聽到8位機或8-bit圖像等,其實意思就是這些計算機大部分時候都是8位8位的來處理數據,因此,我們將8個比特叫一個字節(byte),那10個字節就是80個比特。
通常,我們將一個“千字節”用2^10個字節來表示,也就是1024個字節。
你使用的是32位?還是64位的計算機?不管是32位還是64位,都意味著計算機是一塊塊處理信息的,每塊都是32位或64位的二進制,32位二進制,能表示的最大數差不多是43億,用二進制表示的話,就是32個“1”,這就是為什么Instagram圖片那么清晰的原因了。
當然,數字不光只有正數,還有負數,大部分計算機都是用第一個bit表示數值的正負,1為負,0為正,然后剩余位數表示數字。
這樣,一個32位計算機可以表示的正負數范圍就是:+20億到-20億,這個數字看起來很大,但是很多時候卻是不夠用的,因此,我們現在用的計算機差不多都是64位,64位可以表示的最大數是9.2 x 10^9。
除了負數和正數之外,計算機還要處理非整數,比如 12.7 和 3.14,或者“星歷 43989.1”,像這種帶有小數點的數字,我們叫它“浮點數”,因為小數點可以在數字之間移動。
關于浮點數的表示方法有很多,最常見的是IEEE 754標準,這個標準的本質上是用類似科學計數法的方法,來存儲十進制值。
例如:625.9可以寫成0.6259×10^3
注意:.
6259叫做“有效位數”,3是指數。
在32位浮點數中,第1位表示數字的正負,接下來8位表示指數,剩下23位表示有效位數。
再來看看字母的表示方法吧!
在計算機里,字母也是可以用數字表示的哦!最直接的方法是對字母進行編號:A為1,B為2,C為3,等等。
ASCII ((American Standard Code for Information Interchange): 美國信息交換標準代碼發明于1963年,它可以表示128個不同的值,不僅可以表示大、小寫字母,還可以表示數字0~9、標點符號和特殊字符。
舉例:小寫字母“a”用數字97表示,大寫字母“A”是65,“:”是58,“)”是41。
除此之外,ASCII還包含特殊命令符號,例如換行符,用來告訴計算機換行。在老計算機系統中,如果沒換行符,文字會超出屏幕邊緣。
因為ASCII的使用,使不同公司的計算機能交換數據,這種通用交換信息的能力叫做“互用性”。
當時的ASCII是為英語設計的,只有7位,但是我們的字節有8位,從128到255的空字符,就可以根據各個國家的需要進行使用,這對大部分國家是夠用。但是像咱們中國和日本這樣有數千個字符的國家,8位根本沒辦法表示所有的字符!
為了解決這個問題,各個國家都發明了多字節編碼方案,但又不相互兼容,所以1992年誕生了一種統一所有編碼的標準——Unicode標準,它解決了不同國家不同字符編碼方案的局限性。
Unicode把所有語言都統一到一套編碼里,最常見的Unicode是16位的,它有超過一百萬個位置,除了可以表示所有語言的每個字符外,還有位置表示數學符號,甚至Emoji這樣的圖形字符。
重要的是,這些標準歸根到底是一長串比特:短信、視頻、互聯網上的每個網頁,甚至操作系統,都只不過是一長串“1”和“0”。
感覺“1”和“0”的世界怎么樣?歡迎下方告訴我哦!
-
二進制
+關注
關注
2文章
804瀏覽量
42175 -
十進制
+關注
關注
0文章
67瀏覽量
13490
原文標題:1+1=0?走進“1”和“0”的世界看個究竟吧
文章出處:【微信號:eda365wx,微信公眾號:EDA365電子論壇】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
評論