C語言求助,C語言問題,求助

時間 2021-06-25 15:00:10

1樓:孫毅超

二進位制數在計算機記憶體儲的是其補碼

對於有符號數,正數的補碼和本身一樣,負數的補碼是本身的數字位取反後加1

比如:1=(0001)補=(0001)

-1=(1001)補=(1111)

計算機儲存-1就是儲存的1111

而int是兩個位元組的,也就是16位的二進位制,因此65535也就是1111111111111111,對計算機來說也就是-1

2樓:匿名使用者

c的整數是 16 bit,程式用無號數設定 a= 65535,也就是 0xffff

顯示時卻是以有號數(%d)顯示, a 會被作 2的補數,最高位元標記正負號

也就是 0x7fff 取反向+1 = 0x0 +1 = 1;

最高位元為 1表負值,

所以 a會顯示 -1

3樓:匿名使用者

%d意思是按照有符號位輸出。在有符號的情況下int型資料範圍是-32768到32767。65535超過了32767就會溢位。

比如32767+1=-32768。然後,現在65535比32767大32768,所以剛好多出的部分表示為32767+(-32768),即結果為-1。樓主可以看一下資料位溢位之後的重置點。。

4樓:凱撒

unsigned int能表示的最大值就是65535,把數字改小點,或者換一個型別。

c語言問題,求助

5樓:北京最遊科技****

這題是迷惑人用的……

因為迴圈內部沒有break,所以for會一直執行下去,直到a=11,。這時a大於10,迴圈結束。

最終a的值為11

6樓:岔路程式緣

for(a=0;a<=10;a++)

直到a=11時,迴圈結束。迴圈體對a的值沒有影響,包括continue對迴圈沒有影響。

所以,最後列印a的值是11,選項b。

c語言問題 求助,C語言問題 求助

聽不清啊 這樣試試?include include int main scanf d d c,d for i 1 i a i printf d n e return 0 1 int 型別輸入的時候是 d,int 和float不要混合計算用。改過以後就是下面的 四則運算就是從左到右順序的,小括號優先。...

c語言問題求助,C語言問題求助

普洛智應 include void sort int p1,int p2,int p3 else if p1 p3 else else if p2 p3 if p1 看下函式形參和實參的概念。 include main void sort int p1,int p2,int p3 少括號 else ...

c語言問題,求助,C語言問題,求助!!

include int flower int num int main include int flower int num int main t 0 for i m i n i if t printf no n else printf n return 0 風林火陰山雷 先回答你第一個問題,遞迴函...