首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

整数溢出?该如何解决

2012-09-23 
整数溢出?怎样判断表达式溢出?给个实例![解决办法]C/C++ code//有符号整形a和b,如何判断a+b是否溢出#inclu

整数溢出?
怎样判断表达式溢出?
给个实例!

[解决办法]

C/C++ code
//有符号整形a和b,如何判断a+b是否溢出#include <stdio.h>int ifo_add(int a,int b) {    __asm {        mov eax,a        add eax,b        jo  overflowed        xor eax,eax        jmp no_overflowedoverflowed:        mov eax,1no_overflowed:    }}int main() {    int a,b;    a=          1;b= 2;printf("%11d+(%2d) %d\n",a,b,ifo_add(a,b));    a=         -1;b=-2;printf("%11d+(%2d) %d\n",a,b,ifo_add(a,b));    a= 2147483647;b= 1;printf("%11d+(%2d) %d\n",a,b,ifo_add(a,b));    a=-2147483647;b=-1;printf("%11d+(%2d) %d\n",a,b,ifo_add(a,b));    a=-2147483647;b=-2;printf("%11d+(%2d) %d\n",a,b,ifo_add(a,b));}//          1+( 2) 0//         -1+(-2) 0// 2147483647+( 1) 1//-2147483647+(-1) 0//-2147483647+(-2) 1 

热点排行