Exemplo n.º 1
0
int main() {
  unsigned char a = 254;
  unsigned char b = 1;
  unsigned char c = 2;

  printf ("a = %hhu\n", a);
  printf ("b = %hhu\n", b);
  printf ("c = %hhu\n\n", c);

  if (uadd_ok (a, b)) {
    printf ("next addition will not overflow\n");
  } else {
    printf ("next addition will overflow\n");
  }
  printf ("%hhu+%hhu = %hhu\n\n", a, b, a+b);

  if (uadd_ok (a, c)) {
    printf ("next addition will not overflow\n");
  } else {
    printf ("next addition will overflow\n");
  }
  printf ("%hhu+%hhu = %hhu\n\n", a, c, a+c);

  return 0;
}
Exemplo n.º 2
0
int main()
{
	int x1 = UINT_MAX - 100;
	int y1 = 200;
	int y2 = 10;
	printf("uadd_ok(UINT_MAX-100, 200) = %d\n", uadd_ok(UINT_MAX-100, 200));
	printf("uadd_ok(UINT_MAX-100, 10 = %d\n", uadd_ok(UINT_MAX-100, 10));
	return 0;
}
Exemplo n.º 3
0
void main()
{
	int a = 3947483647;
	int b = 3929933123;

	if (uadd_ok(a, b))
		printf("Add OK\n");
	else
		printf("Add Overflow\n");
}
Exemplo n.º 4
0
int main(){
    unsigned a = 0xffffffff;
    unsigned b = 0xabcd0123;

    int ans = uadd_ok(a, b);
    // if overflow doesn't occur
    if(ans){
	printf("overflow doesn't occur!\n");
    }
    else{
	printf("overflow occur!\n");
    }
}
Exemplo n.º 5
0
//uadd_ok测试函数
void test_uadd_ok()
{
    printf("call test_uadd_ok() \n");
    
    unsigned x = 10u;
    unsigned y = 20u;
    unsigned ret = uadd_ok(x, y);

    printf("uadd_ok(%u, %u) ret %d \n", x, y, ret);

    x = 0xFFFFFFFFu;
    y = 0u;
    ret = uadd_ok(x, y);
    printf("uadd_ok(%u, %u) ret %d \n", x, y, ret);
    
    x = 0xFFFFFFFFu;
    y = 123u;

    ret = uadd_ok(x, y);
    printf("uadd_ok(%u, %u) ret %d \n", x, y, ret);

    printf("============================================================================\n");

}