c語言正數相加減乘除為啥會出現負數

時間 2021-05-07 20:01:43

1樓:匿名使用者

一般情況下int型別資料的表示範圍是負21億多到正21億多

當你計算的數值超出這個範圍就會溢位,結果就不正確了。

c語言中為什麼會出現正數加正數是負數的情況

2樓:匿名使用者

這和c語言中資料的

儲存有關。c語言中資料的儲存空間是有限的,比如說整型資料,佔四個位元組,從而整型數是有範圍的,從-2^31+1到2^31,正負號根據二進位制數第一位決定。並且運算是以二進位制來進行的,當兩個數加和超出範圍時,自動捨去超出的位數(二進位制),所以當然可能兩個很大的正數相加等於負數咯。

3樓:匿名使用者

如果涉及非常大的數,有可能會溢位.c語言最大可顯示65535,即2^16-1;最高位(二進位制第16位)為1表示負數.如果兩數的和大於65535,則只能顯示負數.

如果1+2=-48,這肯定不是相加的結果.你可能呼叫了其它的函式.

4樓:匿名使用者

兩個正數相加的和越界了

c語言正數相加變負數

5樓:匿名使用者

編譯器的問題。有可能你的編譯器int型別是16位的。

你可以把你的sum型別定義成long試一試。

6樓:匿名使用者

c語言中int型別佔2個位元組表示範圍為-32768到32767,你的求和結果不在這個範圍,就溢位了

7樓:

你確定是這個結果嗎?我執行怎麼不是負值?

c語言中通過位運算把一個正整數變成對應的負數

8樓:做而論道

求反加一,即可。

但是,這裡還是要用一次加法。

c語言中,正數除負數是正數還是負數

9樓:匿名使用者

分子分母的符號如果不同,除出來一定是負數因為:

a/b假設a是負數b是正數=(-1)*|a|/b,而|a|/b是正數除以正數,得到正數,乘以-1得到負數,同理如果b是負數

10樓:匿名使用者

都可以啊,記得加括號

11樓:農虹雙魚

新建兩數字變數遍歷所數每數判斷其於0於0於0加第數面於0加第二數面

c語言中負數如何表示?

12樓:修者世界

c語言中負數表示方法就是在數前加負號「-」,比如:

-5,-10000,等

一個變數賦值為負數也是如此,比如:

x=-1000;

13樓:

補碼撒第一位符號位 1為負0為正

正數的補碼和2進位制原碼是一樣的

負數的補碼: 1. 先取絕對值|x|

2. 對|x|+1

3. 對|x|+1 取反 就得到它的補碼了計算機中存放整型資料都是按補碼的形式存放的

14樓:

正數的反碼和補碼都與原碼相同。

而負數的反碼為對該數的原碼除符號位外各位取反。

負數的補碼為對該數的原碼除符號位外各位取反,然後在最後一位加1

15樓:匿名使用者

int a;

a = -5;

int型別的就可表示負數,負數也一樣可以加減乘除,但是unsigned int就只能表示正數

16樓:天黑請閉眼寶貝

不是老師講不清,是你自己上課沒有認真聽,這麼簡單的問題也要拿來問。

17樓:匿名使用者

暈,負數不就加個負號麼,還想怎麼表示...平時多看書,考試不求人...

18樓:

-5呀,這種就可以表示啦

c語言中如何把正數轉換成負數?

19樓:匿名使用者

int a = 5;

int b = -a; // 單目運算子-,用來獲得一個數的相反數。

20樓:潮範君

直接拿0減去就行,

比如:int n=-5;

0-5 就得到了+5

這是常用的正負轉換

21樓:在古雁橋考察古蹟的海藍寶石

取反加1;

例如a=5;

a = ~a + 1;

c語言中如何分別求正數與負數的和

22樓:獨孤木人

新建兩個數字變數,遍歷所有數,對每一個數,判斷其是大於0還是小於0,大於0的話加在第一個數上面,小於0的話加在第二個數上面。

23樓:弘逸滑嘉石

可以加if判斷啊,若小於零取反

如果讀取的是字串,可以使用atoi函式(把字元型轉化為整形)

另外二樓說的也可行,用abs(a)函式

誰能幫我編寫一個c語言實現負數加減乘除的程式啊。要對的

24樓:匿名使用者

#include

#include

void main()

if(result==c)

printf("回答正確!\n");

else printf("錯誤,正確答案是:%d\n",c);

printf("繼續(y) 退出(n)\n");

key =getch();

if(key=='n' || key=='n')break;}}

C語言程式設計從鍵盤輸入資料,統計負數與正數的個數並分別求和,輸入0結束求高手幫忙做下感激不盡

的可樂 include include include void main else while x printf minus count 2d,total 2f n a,at printf abs count 2d,total 2f n b,bt getch main if x 0 j sum2 ...

C語言問題,C語言問題C語言問題

選a首先,空格也是一種字元,b d選項分別把空格賦給了c1,c1 其次,c選項不完整,排除 不僅a這樣,10a20b也是可以的。 聽不清啊 答案a 10a 20b cr 是正確的。因為scanf d c 時,會忽略數字前面的空格,遇到非數字字元就會結束讀取 非數字字元會留待下一次讀取,即被後面的 c...

c語言,c語言,C語言中 與 的區別

第4題 include using namespace std void main else 這兒是隨機生成 else 這兒是隨機生成 int main 第7題 include strinv char str str n 0 int main 本來想幫你全做的,不過6,7好像有人做了,那就幫你做了4...