為什麼最後無符號輸出的是655534而不是

2022-11-13 02:37:34 字數 790 閱讀 4910

1樓:金色潛鳥

題目 "655534" 應是問 65534 或 4294967294 吧。

輸出語句裡的格式定義,實際上是 程式設計師 對 輸出 時 的資料轉換要求。

%d 則是要求 把記憶體資料看成 有符號整型數值,

%u 則是要求 把記憶體資料看成 無符號整型數值。

負數,機器內用補碼形式存放。 -2, 記憶體是 0xfffffffe.

你的程式用的是古老的機器,字長只有16位。所以 0xfffffffe 按16位 則等於 0xfffe.

%u 顯示 0xfffe 成 10進位制 65534. (32位機0xfffffffe 應得 4294967294)。

%d 顯示 0xfffe (32位機0xfffffffe) 成 10進位制 -2.

2樓:

u是無符號十進位制數,這個要從程式設計原理解釋,它會把-2中負數補碼的符號位當成數的一部分一起輸出,這個數的補碼是0×fffffff,所以就輸出了正數65534了,提醒一下你多打了一個5,最大值是65535。

3樓:

相當於模65536同餘

想問學機械的學長,我是機械設計製造及其自動化專業畢業的,剛出來實習,請問這個專業的職業規劃是怎樣的 50

4樓:gl女法官幾個

《人心不可欺》:靜靜山村,芳草依依,幾多風雨,幾多情意。莫道是,良緣本是天作成,只可嘆恩怨情仇,難斷根達地。黃泉茫茫,雖無輪迴路,天地公道,人心不可欺。

為什麼輸出的是8,5,,為什麼輸出的是8,5,4,

第一次迴圈走到 if x 3 時x 3 8 3 2 所以if判斷為true,這時候會列印8 然後8 1 7然後執行continue 迴圈結束 x 所以 7 1 6 第二次迴圈 if x 3 時x 3 6 3 0 所以if判斷為false,這時候跳出if 執行下邊的 printf d,x x先運算再輸...

最後符號是問號的古詩詞有哪些,最後一個符號是問號的古詩詞有哪些

1 日出江花紅勝火,春來江水綠如藍。能不憶江南?唐 白居易 憶636f707962616964757a686964616f31333363396337江南 譯文 春天到來時,太陽從江面升起,把江邊的鮮花照得比火紅,碧綠的江水綠得勝過藍草。怎能叫人不懷念江南?2 江東子弟今雖在,肯與君王捲土來?宋 王...

c語言中為什麼左移不分符號數無符號數,而右移分呢

因為在c語言標準中bai,只du規定了無符號數的移zhi位操作是採用邏輯dao移位 即左移 右移都是使回用的邏輯答左移和邏輯右移 而對於有符號數,其左移操作還是邏輯左移,但右移操作是採用邏輯右移還是算術右移就取決於機器了!算術右移和邏輯右移的區別是 算術右移不右移符號位,即最高位,右移後前補0還是1...