1. 程式人生 > >有符號數和無符號數

有符號數和無符號數

c 有符號數 無符號數

數據類型的最高位用於標識數據的符號

最高位為1,表明這個數為負數

最高位為0,表明這個數為正數


在計算機內部,用補碼表示有符號數

----正數的補碼為正數本身

----負數的補碼為改數的絕對值各位取反後加1


在計算機內部用原碼表示無符號數

----無符號數默認為正數

-----無符號數沒有符號位


對於固定長度的無符號數

----MAX_VALUE+1-------->MIN_VALUE

----MIN_VALUE - 1-------->MAX_VALUE

unsigned 將變量聲明為無符號類型

在C語言中,只有整數類型才能聲明為unsigned類型

當一個有符號數和一個無符號數進行運算時,有符號數將會被當做無符號數進行運算。也就是說,當有符號數為負數時,那麽這個有符號的負數和一個無符號數運算時,它就變成了一個很大的正數。

----當無符號數和有符號數混合計算時,會將有符號數轉換為無符號數後再進行運算,結果為無符號數。


本文出自 “梵高說我腦子有病” 博客,謝絕轉載!

有符號數和無符號數