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...