歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> C語言判斷兩個整數相加會不會溢出

C語言判斷兩個整數相加會不會溢出

日期:2017/3/1 10:00:33   编辑:Linux編程

實際上,大多數電腦中,整數都是用補碼來表示的。發生溢出不會報警,只是將最高位直接截斷。

/*習題2.30
C語言
開發環境VC++6.0*/

#include<stdio.h>

int taddOK(int, int);

void main(){
int x, y;

printf("Input two integers:\n");
scanf("%d %d",&x, &y);

printf("%d\n",taddOK(x,y));

}

/*Determine whether arguments can be added without overflow */
int taddOK(int x, int y){
int sum = x + y;
int negOverflow = x < 0 && y < 0 && sum >= 0;
int posOverflow = x >= 0 && y >= 0 && sum <= 0;

return !negOverflow && !posOverflow;
}

Copyright © Linux教程網 All Rights Reserved