首頁  >  文章  >  uint16是什麼資料型

uint16是什麼資料型

藏色散人
藏色散人原創
2021-07-23 11:31:3426344瀏覽

uint16是16位元無符號整數;整數類型有無符號和有符號兩種類型,在預設情況下宣告的整數變數都是有符號的類型,如果需宣告無符號類型的話就需要在類型前加上unsigned。

uint16是什麼資料型

本文操作環境:Windows7系統,DELL G3電腦

uint16是什麼資料型別?

uint16是16位元無符號整數,uint8是8位元無符號整數

整數型有無符號(unsigned)和有符號(signed)兩種類型,在預設情況下宣告的整數變數都是有符號的型別(char有點特別),如果需宣告無符號類型的話就需要在類型前加上unsigned。在一些不可能取值為負數的時候,可以定義為unsigned,在一些底層的嵌入式程式設計的資料一般都是無符號。

uint16是什麼資料型

相關介紹:

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

當執行一個運算時(如這裡的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(因為沒有符號位,就像正數的反碼補碼都是它本身一樣,且最高位也不表示符號位),但是它們的底層儲存都是一樣的。

更多相關知識,請造訪常見問題欄位!

以上是uint16是什麼資料型的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn