C#中位、字節等知識


本文介紹C#中位、字節等知識。

1. 位(bit)

位(bit)有叫做比特,指二進制中的一位,是二進制的最小信息單位。
bit也被稱作小b,用b表示。

2. 字節(bytes)

8位表示一個字節。
由以下公式可以算出一個字節最多表示256

\[2^8 = 256 \]

但實際上不會是256,8個字節最多表示:

111111

這個值是

\[2^7+2^6+2^5+2^4+2^3+2^2+2^1+1=255 \]

這也說明了以下內容:

byte.MaxValue == 255;

還需要注意的是,byte是無符號的,因此byte的范圍是從0-255

這個byte也被稱做大B,用B表示。

這個byte也是C#里面的byte。

3. KB和kb

上面說了B和b,再插一句KB和kb的區別。
Modem和訪問Internet的其他設備的傳輸速率通常是以“Kbps”(千比特/秒)來計量,而其他的數據傳輸速率,諸如IDE或SCSI總線的傳輸速率,則通常以“KBps”(千字節/秒)或“MBps”(兆字節/秒)為單位。
這兩個是不一樣的。
因為8位表示一個字節,所以可以理解

\[B=8b \]

再我們安裝寬帶的時候,說10M,指的是10mb,實際上的帶寬是:

\[10mb/8=1.25MB \]

4.sbyte

sbyte不同於byte的地方在於,sbyte是有符號的,也就是說,sbyte能表示負數。其最高位是符號位,所以sbyte只有7位能表示數值。
其最小值應該是:

\[-128 \]

其最大值應該是:

\[2^6+2^5+2^4+2^3+2^2+2^1+1=127 \]

關於為什么是-128而不是127,這篇文章講解的很詳細,都是補碼、反碼那套知識。

5.short ushort int uint long ulong

short

short是16位的有符號整數,也就是2字節的整數。
因為short有符號位,所以只有15位表示數值。其范圍應該是

\[-32768 -- 32767 \]

其他與short道理相同,不解釋。

6. char

char占用幾個字節呢?
在C#里面采用unicode,2個字節(16位)來表示一個字符。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM