經常我們使用電腦、手機或者其他的一些電子設備時,會聽到這個手機存儲64G的,32G的,那個硬盤有2T,這個網速100M的,這類的話,但是這些是個啥?為什么這么叫?意味著啥?
這些其實都是一些數字信息的單位,標志著存儲設備能夠存儲多少的數字信息。
bit&byte
byte是數字信息的基本單位,中文一般叫字節。1byte是形容一個完整字符的長度。假如有一篇全英文文章,文章存在設備里邊就是數字信息,那么這個文章有多長,我們可以說有多少個字,但是對于數字信息來講,我們說它占用了多少byte,多少byte就是這個文章的長度。一般來講一個英文字母占用1byte,一個空格和一個基本的標點符號也一樣占用1byte。當然中文或者別英文文字就另當別論了,因為這里會涉及到一個字符編碼的問題,這會導致它的單個字長度會更長一些。
bit是計算信息和數字通信的基本單位,中文一般叫比特或者字位。我們都知道計算機的存儲設備只能記錄二進制的數據,所以我們要存數據到設備里只能將我們想要的數據轉化成二進制再存進去,轉成了二進制無非就是使用0和1來表示,比如 1轉成二進制就是00000001,那么這樣每一個0或者1就是1bit,這個要存進去就要占用8個基礎元器件,也就是8bits。因為不同時期的計算機對于用幾個bit來表示一個byte是不同的,所以bit是不能用來表示數字信息的長度的,所以它只能是計算信息和數字通信的基本單位,而不是數字信息的基本單位。
當然數字信息歸根結底是要存儲在電子設備上的,如果用幾個bit來表示一個字符是確定的,那么數字信息占用多少的bits也將是確定的。為什么這么說呢?難道用幾個bit來表示一個字符是不確定的么?
最初的計算機性能和存儲容量都比較差,所以普遍采用4位BCD編碼(這個編碼出現比計算機還早,最早是用在打孔卡上的)也就是使用4bits來表示一個字符,也就是1Byte=4bits。BCD編碼表示數字還可以,但表示字母或符號就很不好用,需要用多個編碼來表示(比如2Byte來表示一個字符)。后來演變出6位的BCD編碼(BCDIC),以及7位ASCII編碼(至今仍在廣泛使用),也就是1Byte=6bits或者1Byte=7bits。再后來就是IBM公司在1946年4月7日推出了劃時代的大型機System/360,這個電腦使用的是一套8位EBCDIC編碼,涵蓋了數字、大小寫字母和大部分常用符號,同時又兼容廣泛用于打孔卡的6位BCDIC編碼。System/360很成功,所以奠定了字符存儲單位采用8位長度的基礎,后來IBM所有的主機、外圍設備和操作系統都使用這套編碼,然后隨著技術的發展和設備的標準化,1字節=8位被廣泛使用于硬件和軟件中,于是現在來看1Byte就是等于8bits。
當然如果你覺得8bits不能滿足你的編碼要求,那么你可以自己在制定一套編碼方式,可以用9bits或者更多來表示 , 只不過那樣的話,你可能要無法使用大家現在的編碼方案,得自己去控制存儲了,那可不是一般的麻煩。
很明顯光有基本單位是不夠的,所以后面有了更大的單位。
國際單位制
全稱International System of Units,簡稱SI,那個千米,千克都是這里邊的,于是它也在Byte的基礎之上標準化了更大的單位:Kilobyte、Megabyte、Gigabyte、Terabyte、Petabyte、Exabyte、Zettabyte、Yottabyte,簡稱分別是KB、MB、GB、TB、PB、EB、ZB、YB,之間的進率是1000。在bit的基礎上標準化了更大的單位:Kilobit、Megabit、Gigabyte、Terabit、Petabit、Exabit、Zettabit、Yottabit,簡稱分別是Kbit、Mbit、Gbit、Tbit、Pbit、Ebit、Zbit、Ybit,之間的進率也是1000。
國際電子技術委員會單位
制定這個標準的組織全稱International Electrotechnical Commission,簡稱IEC,在1998年,也推出他們認為的標準化單位:Kibibyte、Mebibyte、Gibibyte、Tebibyte、Pebibyte、Exbibyte、Zebibyte、Yobibyte,簡稱分別是:KiB、MiB、GiB、TiB、PiB、EiB、ZiB、YiB,之間的進率是1024,也就是2的10次方。bit的單位分別是:Kibibit、Mebibit、Gibibit、Tebibit、Pebibit、Exbibit、Zebibit、Yobibit,簡稱分別是:Kibit、Mibit、Gibit、Tibit、Pibit、Eibit、Zibit、Yibit,之間的進率是1024,也就是2的10次方。
由于電腦之間的存儲和傳遞是依據二進制的,所以使用2的10次方作為進率更加方便,于是IEC單位在軟件上被廣泛使用,后來很多人經常也把它簡稱為KB、MB、GB、TB、PB、EB、ZB、YB,甚至是K、M、G、T、P、E、Z、Y。比如你查看文件的大小也是直接顯示多少KB或者MB。
但是硬件廠商還在遵守SI的標準,比如你買了一個1T的硬盤,當你電腦打開查看發現少了不小空間,因為他們遵守的就是SI的標準,而你的操作系統使用的是IEC標準。1TB在SI的標準下是 1000,000,000,000Bytes,而在IEC的標準下這么多的Byte只能相當于1000,000,000,000/1024/1024/1024/1024=0.9094947017729282TB
bps&Mbps
這二個都是網絡傳輸的速度單位。bps是每秒傳輸的bit,Mbps是每秒傳輸的Mbit。
我們的網速說是80M的寬帶,實際就是80Mbps,就是每秒傳輸80Mbit的數據,占滿所有寬帶的情況下理論上每秒可以傳10MB的文件。當然這還是理論值哦,實際值往往達不到這么多的。
說到網速,還值得說一下的,就是上行網絡和下行網絡,相當一個是上傳速度,一個是下載速度,經常是不對等的。
32位和64位CPU
32位CPU是指這個CPU有32根地址線,這些地址線決定這個它的尋址范圍,所以該CPU的尋址范圍在0到2的32次方,也就是它最多可以有這么多個地址。內存是快速存儲設備,基本單位是Byte,所以32位CPU理論支持最大的內存為2的32次方Byte,也就是4GB。
64位CPU就是指CPU有64根地址線,同樣的道理 64位CPU就可以支持最大2的64次方Byte的內存,也就是4GB再乘以2的32次方。
當然32位CPU跟64位CPU還在指令上有不同。
32位&64位操作系統
按照PC的設備來講32位操作系統都是支持的,也就是說32位的操作系統安裝在32位CPU的PC機上是沒問題的,64位CPU也可以通過只用32根地址線來兼容32位操作系統。 32位操作系統由于只會用到32位地址線來尋址,所以最大的內存支持也就是4G。
現在內存超過4G是件和平常的事情了,另外64位操作系統在指令上和運算速度方面都有很多的優勢,所以Windows和各大軟件廠商都在積極發展64位操作系統和支持的軟件,但是64位操作系統是需要CPU和主板等設備的支持的,CPU必須是64位的。