C表示式中有符號的負數為什麼比無符號的正數大呢

2021-03-03 21:24:17 字數 1657 閱讀 3064

1樓:匿名使用者

因為有符號數的最高二進位制位是符號位,負數的符號位是1,把這個數當無符號看的話......***。

2樓:匿名使用者

你統一換成無符號,或者有符號,再比較就知道了。

3樓:匿名使用者

資料在計算機內是以二進位制補碼形式儲存的,看看補碼相關的知識就懂了

c++中有符號的負數為什麼比無符號的負數大呢?

4樓:匿名使用者

無符號沒有負數吧?

有符號最高位是1的就是負數

————————————————

表示式中不同的型別肯定要轉換到相同的型別再計算的首先把低於int和unsigned int的型別提升,然後轉換到高的型別再計算

5樓:數學之星

c++中:

數的符號位位於數頂端。

符號位的負號在計算機內部進行運算時就是「1」。

有符號的負數頂端多一個「1」,自然比無符號的正數大。

c++中給無符號型別賦了個負值的後果

6樓:小兆

在記憶體長度上沒有溢位的情況下,比如u和u2都是4個位元組,以及有符號整數也是4個位元組,這時候將原資料按照位模式逐位拷貝到目的變數。比如例子中的-32,在記憶體裡這個數的十六進位制表示為:0xffffffe0。

將這個十六進位制數逐位拷貝到一個無符號整數變數的記憶體空間後,列印出來就是你看到的結果。

7樓:匿名使用者

-1 在機器中的真實表示為0xffffffff因此你把它當成一個正數去看的話那麼就是2^32-1,也就是一個非常大的正整數

你明白了什麼麼?

其實對於機器而言,無所謂正負之分,僅僅在於你如何去看待這個資料

c++中整型常量中的有符號和無符號怎麼理解,怎麼判斷?

8樓:覺悟壯志

按字面意思理解就可以。

有符號整型既可以表示正整數,又可

以表示負整數。內(當然也可以容表示0)

無符號整型預設只表示正整數

一、區別

區別1. 最明顯的區別還是在關鍵字上,有符號整型用int/short/long ,無符號整型unsigned(int)/ unsigned short/unsigned long

區別二2.取值範圍不同,因為有符號整型要表示負數,所以表示範圍分佈在0左右

以int 為例,int表示範圍是 -2^31到2^31-1. 無符號整型不需要表示符號,所以分佈在0的右邊,以unsigned(int)為例,unsigned (int) 範圍是 0到2^32-1

二、應用

總的來說用起來差不多,但是由於表示範圍不同,各取所長。

比如年齡欄位一般而言是正數,所以用unsigned short即可(當然,int也不會報錯)

又如訂單系統需要表示庫存數量的增減變化,可以用int

9樓:匿名使用者

無符號版本

和有來符號版本源的區別就是無符號型別bai能儲存2倍於有符du號型別的正整數zhi資料dao,比如16位系統中一個int能儲存的資料的範圍為-32768~32767,而unsigned能儲存的資料範圍則是0~65535

C語言中表示式1表示式2表示式3為什麼不先算表示式2急急急

在c語言中,或 的優先順序低於與 的優先順序,也就是說,無論表 達式1,表示式2,表示式3的值是真或者是假,都是做以下關係運算 表示式1的值 表示式2的值 表示式3的值 和他們的具體值無關。你的說法是不對的,因為此邏輯表示式是先求出 右側的值,然後再與 左側的值作關係或運算,如果想先算前面可以在前兩...

c程式設計求下列表示式的值,c程式設計求下列表示式的值133557nn2,n為任意奇數

include int main 除以公因數 printf lld lld x,y private sub form activate a 5 end sub sub a n as long dim i as long for i 1 to n sum sum 1 f i next i print ...

c語言中怎麼算表示式的資料型別例如 表示式18 4 sqrt 4 0 8值的資料型別為什麼?謝謝

和 等於平時計算的除以 不取餘數 和乘以 然後sqrt 等於開方 18 4 sqrt 4.0 8 18除以4乘以2.0除以8 1.0 double 18 4 4 int與 int運算仍為 intsqrt 4.0 2.0 double 返回值的型別是函式sqrt定義的 18 4 sqrt 4.0 為i...