因為計算機用二進位制,所以希望基本儲存單位的是2的n次方。
2^1 = 2 可以表示 4 個符號
2^2 = 4 可以表示 16 個符號
2^3 = 8 可以表示 256 個符號
2^4 = 16 可以表示 65536個符號
考慮需要表示英文本元和數字以及一些符號的數量,大家認為用幾位來表示比較合適?
早期(其實也不早,70年代都還很流行)計算機也有用10位之類的非標準字長(具體去查資料),而且那時候做數值計算用的計算機一般都是字長越長越好,儲存器單位也各不相同,據說效能比8位的標準要好。非數值類的則較早就固定到8位(上面的原因)。 後來機器便宜了,負擔不起非標準的記憶體了,就大家都用8位做為乙個位元組了。
計算機用二進位制來儲存,因此二的倍數儲存效率就高很多。
8位位元組對齊演算法
參考文章 8bit對齊演算法 void testalign 1byte 1位元組對齊 unsigned int align8bit unsigned int n 2byte 2位元組對齊 unsigned int align16bit unsigned int n 4byte 4位元組對齊 unsi...
1位元組不是一定是8位。
sizeof返回的是以位元組 byte 為單位的大小,char的大小永遠都是1位元組。位元組通常情況下為8位,但是不是必然,也可能是別的大小,比如ti的28x系列dsp裡 乙個位元組的大小為16位。前段時間,發現乙個沒見過的事情,ti的28x系列dsp中,乙個char佔據的空間是16位的,但是siz...
為什麼最小幀長度是64位元組
我們來看一下,假設a檢測到網路是空閒的,開始發資料報,盡力傳輸,當資料報還沒有到達b時,b也監測到網路是空閒的,開始發資料報,這時就會發生碰撞,b首先發現發生碰撞,開始傳送碰撞訊號,所謂碰撞訊號,就是連續的01010101或者10101010,十六進製制就是55或aa。這個碰撞訊號會返回到a,如果碰...