當前位置:編程學習大全網 - 編程軟體 - uint是幾位無符號整數?

uint是幾位無符號整數?

uint8是8位無符號整型,uint16是16位無符號整型。

整型有無符號(unsigned)和有符號(signed)兩種類型,在默認情況下聲明的整型變量都是有符號的類型(char有點特別),如果需聲明無符號類型的話就需要在類型前加上unsigned。在壹些不可能取值為負數的時候,可以定義為unsigned,在壹些底層的嵌入式編程的數據壹般都是無符號。

擴展資料:

負數時的有符號整型和無符號整型的轉換

當執行壹個運算時(如這裏的a>b),如果它的壹個運算數是有符號的而另壹個數是無符號的,那麽C語言會隱式地將有符號 參數強制類型為無符號數,並假設這兩個數都是非負的,來執行這個運算。

整數在計算機中通常是以補碼的形式存在的,而-1的補碼(用4個字節儲存)為1111,1111,1111,1111。對大多數C語言的實現,處理同樣字長的有符號數和無符號數之間的相互轉換的壹般規則是:數值可能會改變,但是位模式不變。

也就是說,將unsigned int強制類型轉換成int,或將int轉換成unsigned int底層的位表示保持不變。也就是說,即使是-1轉換成unsigned int之後,它在內存中的表示還是沒有改變,即1111,1111,1111,1111。

同樣的儲存表示對於應用程序而言可能對應著不同的數據,例如1111,1111,1111,1111對於有符號數而言它表示-1,但對於無符號數而言,它表示UMax(因為沒有符號位,就像正數的反碼補碼都是它本身壹樣,且最高位也不表示符號位),但是它們的底層存儲都是壹樣的。

百度百科-無符號整型

  • 上一篇:編程 程序員 遊戲開發 軟件開發 職業規劃
  • 下一篇:杭州的行政區劃代碼是多少?
  • copyright 2024編程學習大全網