3 回答
TA貢獻1808條經驗 獲得超4個贊
-1 == (unsigned) -1-1 > 2U.
許多期望算術或枚舉類型操作數的二進制運算符以類似的方式導致轉換和生成結果類型。其目的是產生一個公共類型,這也是結果的類型。這種模式稱為通常的算術轉換,定義如下:
如果其中一個操作數是長雙操作數,則另一個操作數應轉換為長雙操作數。
否則,如果其中一個操作數是雙操作數,則另一個操作數應轉換為雙操作數。
否則,如果其中一個操作數是浮動的,則另一個操作數將轉換為浮動操作數。
否則,綜合晉升(4.5)應在兩名操作人員中進行。
然后,如果其中一個操作數是無符號的長操作數,則另一個操作數將轉換為無符號長操作數。
否則,如果一個操作數為長int,另一個操作數為無符號int,則如果長int可以表示無符號int的所有值,則無符號int應轉換為長int;否則,這兩個操作數將轉換為無符號長int。
否則,如果其中一個操作數是長的,則另一個將轉換為LONG。
否則,如果其中一個操作數沒有簽名,則另一個操作數應轉換為無符號操作數。
如果目標類型是無符號的,則結果值是與源整數一致的最小無符號整數(模2)。 n其中n是用來表示無符號類型的位數)。[注意:在兩個補碼表示中,這種轉換是概念性的,位模式沒有變化(如果沒有截斷)。]
-1 == -1-1 == (unsigned) -1
-1 < 2 不-1 < (unsigned) 2
TA貢獻1799條經驗 獲得超8個贊
- 3 回答
- 0 關注
- 345 瀏覽
添加回答
舉報
