-
無符號數
鎖定
- 中文名
- 無符號數
- 外文名
- Unsigned number
無符號數定義
全部二進制均代表數值,沒有符號位。
無符號數與有符號數相對
C支持所有整形數據類型的有符號數和無符號數運算。儘管C標準並沒有指定某種有符號數的表示,但是幾乎所有的機器都使用二進制補碼。通常,大多數數字默認都是有符號的,C也允許無符號數和有符號數之間的轉換,轉換原則是基本的位表示保持不變。因此在一台二進制補碼機器上,當從無符號數轉換為有符號數時,效果就是應用U2Tw,而從有符號轉換為無符號數時,就是應用函數T2Uw,其中w表示數據類型的位數。
T2Uw(x) = (x<0)?(x+2w) :x;U2Rw(x) = (x<2w-1)?x:(x-2w);
當執行一個運算時,如果它的一個運算數是有符號的而另一個是無符號的,那麼C會隱含地將有符號參數強制轉換為無符號數,並假設這兩個數都是非負的,來執行這個運算。
無符號數無符號數
X=X0X1X2...Xn 其中Xi={0,1},0<=i<=n 即X0*2^n + X1*2^(n-1) + X2*2^(n-2) + ... + Xn-1*2 + Xn
數值範圍是 0≤X≤2^(n+1) - 1
例如:1111表示15。
無符號數帶符號數
最高位被用來表示符號位,而不再表示數值位。
例如:1111 是-7。
- 詞條統計
-
- 瀏覽次數:次
- 編輯次數:13次歷史版本
- 最近更新: Mxxyzz