unsigned int型別分析

2021-06-18 08:05:48 字數 826 閱讀 5294

int main(void)

結果:a=-1, b=-128, c=127, d=1

aa=255, bb=0, cc=1

你看下unsigned char 值從0-255

char就是int

char值從-127-+128

在0-128 不管unsigned char 還是char的值都要一樣的

是的沒錯

char 對應int

int是32位

unsigned char 對應unsigned int

一般處理器都是這樣的

int 是4個位元組 32位

char是1個位元組 8位

int 是4個位元組 32位

unsigned int 是4個位元組 32位

char是1個位元組 8位

unsigned char是1個位元組 8位

區別在於

char 範圍是 -127-128  共256個數

unsigned char 範圍是 0-255  共256個數

int和uint也是一樣的,2的32次方

ok 碉堡了 

char是2的8次方

這次你徹底清晰了吧

其實就是最高位的含義不同 unsigned 的最高位也充當數字 而一般的最高位是作為符號位

沒錯 這個是彙編的世界了

在二進位制裡來搞 比較清晰

11111111是-127

10000000是128

這個128是個特殊的數字 其實是-0 計算機為了多記乙個數所以把他當做128

彙編的 記起來了

沒錯 是這樣

碉堡這個徹底搞透

int 與 unsigned int 移位運算

今天看到個別人提的問題,不懂便查了點資料解決了 可能很簡單,但之前確實不清楚 問題如下 執行結果是什麼?結果為 fffffff4 f8 思路為 開始想著這肯定跟型別範圍有關,int 為 2的31次方 到 2的31次方減1,unsigned int 為0 到 2的32次方。後來想到 int是帶符號型別...

unsigned int與int相加問題

作者 卿篤軍 一道unsigned int與int型別的相加題目。引發了我對這個問題的思考。首先要明確兩個問題 問題一 unsigned int和int究竟哪個能表達出來的數上限大呢?答 當然是unsigned int。為什麼?答 由於。int將最高位看做是符號位。0表示 正 1表示 負 也就是說,...

unsigned int數相減時候的trick

假設是8位的unsigned int整數。乙個是x 134,乙個是y 246.首先拿過來就是計算它們的二進位制位 134 1000,0110b 246 1111,0110b 因為是無符號數,所以解釋成正數,也就意味著這樣的看似原碼的二進位制位就是補碼表示,也可以理解為符號位在第九位藏著乙個0.這裡主...