進製與編碼
十進位制: 逢十進一
表示數字: 0123456789
二進位制:逢二進一
表示數字: 0 1
八進位制: 逢八進一
表示數字:01234567
八進位制的作用: 在一些比較古老的unix應用中在使用八進位制,在一些程式語言裡提供了使用八進位制符號來表示數字的能力
八進位制和二進位制之間的轉換:
2=>8 : 取三合一 8=>2 : 取一分三
十六進製制: 逢十六進一
表示數字: 01234567abcdef
二進位制使用起來很不方便, 16進製制或8進製可以解決這個問題。因為,進製越大,數的表達長度也就越短。2、8、16,分別是2的1次方、3次方、4次方,這一點使得三種進製之間可以非常直接地互相轉換。8進製和16進製制縮短了二進位制數,但保持了二進位制數的表達特點。
計算機中的儲存單位:
位 bit (位元)(binary digits):存放一位二進位制數,即 0 或 1,最小的儲存單位。
位元組 byte:8個二進位制位為乙個位元組(b),最常用的單位。
1b(bytes) = 8bit
1kb (kilobyte 千位元組)=1024b,
1mb (megabyte 兆位元組 簡稱「兆」)=1024kb,
1gb (gigabyte 吉位元組 又稱「千兆」)=1024mb,
1tb(trillionbyte 萬億位元組 太位元組)=1024gb,
1pb(petabyte 千萬億位元組 拍位元組)=1024tb,
1eb(exabyte 百億億位元組 艾位元組)=1024pb,
1zb (zettabyte 十萬億億位元組 澤位元組)= 1024 eb,
1yb (yottabyte 一億億億位元組 堯位元組)= 1024 zb,
1bb (brontobyte 一千億億億位元組)= 1024 yb
32位和64位 /32bit和64bit的區別
1、對作業系統來說,64位和32位指最大記憶體定址空間,32位最大4gb(2^32),64位理論上16eb(2^64),但現在一般都是2^48
2、對硬體來說,64位和32位指資料寬度,64位一次取8位元組也就是64bit,32取4位元組也就是32bit,所以理論上64位比32位效能提高了一倍,但實際上達不到,記憶體變大,需要定址更多空間。
3、對應用程式來說,應用程式基於作業系統和硬體,其使用的指令寬度隨系統和硬體變化。
64位作業系統可以支援4g以上的記憶體,缺點也是記憶體占用,64位**比32位**占用更多的空間,64位作業系統相容32位軟體,反之則不行。
32位和64位最本質的區別是cpu來決定的,作業系統的位數是看最大能把cpu的效能發揮到多高。
二進位制的編碼
計算機內部是由積體電路這種電子部件構成的,電路只可以表示兩種狀態——通電、斷電
因為這個特性,計算機內部只能處理二進位制。那為什麼我們能在計算機上看到字母和特殊字元呢?
如果我們用乙個二進位制數字表示乙個字元,比如說用「0100 0001」來表示a。
根據這個對應關係,我們製作乙個**,這個**裡乙個二進位制數字對應乙個字元。
這套編碼叫ascii(美國(國家)資訊交換標準(代)碼),使用7個或8個二進位制位進行編碼的方案,最多可以給256個字元。使用了ascii碼,不同的計算機之間就可以實現資料的標準化。
但是ascii使用的時候有一些限制,它只可以表示256個字元。如果有其他的字元就無能為力了。ascii只能表示26個基本的拉丁字母、阿拉伯數字和英式標點。因此也只能用於顯示現代美國英語。
後來計算機世界開始有了其他語言,ascii碼已經無法滿足需求。後來不同語言的人各自為自己定製了一套屬於自己的編碼,同時與ascii保持相容。這些編碼統稱mbcs。(中國的叫gb*,比如gbk).
在後來有人開始覺得,這麼多編碼,有些編碼之間還不相容,太讓人頭大了,於是有這麼一群人就坐在一起想出了乙個辦法:所有的語言都使用同一種編碼,這種編碼就是unicode。 unicode使用最少2個位元組(1個位元組=1byte=8bit=乙個長度為8的二進位制數) 來表示字母和符號等,有時候是4個位元組。這樣就解決了上面遇到的問題。
unicode又叫萬國碼,是業界的一種標準。但是有人又覺得如果我要表示乙個ascii裡的字元,使用unicode來表示不是太浪費空間了嗎,於是就有人想出了另外一種解決方案——utf-8。
utf-8是對unicode編碼的壓縮和優化,最大的特點是它採用了變長的編碼方式,他不再是最少使用2個位元組,而是將所有的字元進行分類。ascii碼中的內容用1個位元組儲存、歐洲的字元用2個位元組儲存,東亞的字元用3個位元組儲存…
gb2312是2023年國家制定的漢字內碼規範,收錄了6千多漢字及符號,表示的符號有限 ;國家標準化委員會又制定了gb13000,gb13000制定的原則與gb2312不同,gb13000以國際化為目標, 該標準編碼參照了unicode 2.0 標準編碼,與gb2312完全不相容,因早期的計算機中的漢卡採用了gb2312,無法順利向gb13000過渡,所以gb13000變成了乙個紙面上的標準,無法推廣;有了這個經驗之後,國家標準化委員會制定了gbk標準,他相容gb2312標準,同時在gb2312標準的基礎上擴充套件了gb13000包含的字。
計算機理論
作業系統跟計算機硬體是很大的關聯性,所以了解計算機理論對於學習 linux是有好處的。以下內容均摘自鳥哥的私房菜一書 計算機其實是 輸入指令與資料,經過 處理器和邏輯單元運算處理 後,產生或儲存成有用的資訊。簡單來說只要你有輸出裝置和輸入裝置,並且輸入資料讓機器產生資訊,這就可以叫做計算機了。計算機...
16 計算機理論
1.簡單語言 遞增語句 increment statement 遞減語句 decrement statement 迴圈語句 loop statement 三種語句可以組成 各種巨集 marco 巨集再組合。2.圖靈機 turing machine 磁帶tape b和1 讀寫頭 read write ...
計算機理論 計算機系統硬體總結
1 軟體。具有特定順序的資料和指令的集合 2 硬體。組成計算機的物理裝置 1 運算器。進行算術運算和邏輯運算。2 控制器。控制程式執行 處理中斷異常。3 儲存器。儲存資料。4 輸入裝置。滑鼠,鍵盤等。5 輸出裝置。顯示器,音響等。其中,運算器和控制器合稱 處理單元 central processin...