整型的每一種都分有無符號(unsigned)和有符號(signed)兩種類型(float和double總是帶符號的),在默認情況下聲明的整型變量都是有符號的類型(char有點特別),如果需聲明無符號類型的話就需要在類型前加上unsigned。無符號版本和有符號版本的區別就是無符號類型能保存2倍於有符號類型的正整數數據,比如16位系統中一個int能存儲的數據的范圍為-32768~32767,而unsigned能存儲的數據范圍則是0~65535。由於在計算機中,整數是以補碼形式存放的。根據最高位的不同,如果是1,有符號數的話就是負數;如果是無符號數,則都解釋為正數。另外,unsigned若省略后一個關鍵字,大多數編譯器都會認為是unsigned int。
以上是摘自百度百科,簡而言之就是由於Int型占4字節,也就是16位,2^16 = 65535,如果有符號位就+ -兩邊均分,如果沒有就全給+。
就這么簡單~