int為什麼佔4個位元組?乙個位元組為什麼是8位?

2021-09-29 07:50:01 字數 541 閱讀 1762

不知道大家有沒有思考過這樣的問題,乙個位元組為什麼是8位呀,也許還有小夥伴不知道我說的這些是什麼,沒關係往下看。

第乙個解釋(歷史)是ibm為system/360設計了一套8位ebcdic編碼,涵蓋了數字、大小寫字母和大部分常用符號,同時又相容廣泛用於打孔卡的6位bcdic編碼。

第二個解釋,二進位制我們應該都知道,在ascii表中,儲存的所有字元,用的是8位的二進位制,0到127是,128個字元。最後個是01111111是刪除鍵。如果在多加乙個就不是8位了。

以上我把乙個位元組為什麼是8位解決了。

下面說一下,為什麼int是佔4個位元組

第乙個解釋是int據說是根據不同的編譯器在定義的,不同的編譯器int的位元組是不一樣的,但是大多的編譯器int都佔4個位元組。

第二個解釋是作業系統16位的時候,int 2位元組,作業系統32位的時候,int 4位元組,由於32位系統之前佔主流地位,實際現在就算是64位系統,出於相容性考慮,int也是4位元組的。

資料型別佔記憶體的位數實際上與作業系統的位數和編譯器(不同編譯器支援的位數可能有所不同)都有關。

經典 反轉乙個位元組

這道題很古老了,可別將它和大端轉小端混淆了,所謂大端和小端指的是位元組序,而這裡反轉乙個位元組說的是位序,演算法更是不勝列舉,說實話都能達到目的,剩餘的就是看看誰的效率更高了,基本上這是乙個最難的問題,高手不是能寫出最美麗的程式而是能寫出既美麗同時效率又是最高的程式,如果乙個人寫的程式很美麗,很直觀...

ORACLE中乙個字元佔多少位元組?

22.1 問題描述 或許你會說乙個中文字元佔2個位元組,這是一定的?如何計算乙個字串的位元組數?22.2 解決方案 在oracle中乙個字元特別是中文佔幾個位元組是不同的。比如我創立乙個表create table test ly a varchar2 4 b nvarchar2 4 你說a列能插入兩...

ORACLE中乙個字元佔多少位元組?

問題描述 或許你會說乙個中文字元佔2個位元組,這是一定的?如何計算乙個字串的位元組數?解決方案 在oracle中乙個字元特別是中文佔幾個位元組是不同的。比如我創立乙個表create table test ly a varchar2 4 b nvarchar2 4 你說a列能插入兩個漢字嗎?錯!最多能...