1、c语言中如何处理整数值的上溢。
#include <stdio.h> int main(void) { int i; int j = 1; for(i = 1; i <= sizeof(int) * 8 - 1; i++) { j *= 2; } printf("j = %d. ", j - 1); // 确定int型为正的上限 int num = j - 1; printf("num: %d. ", num); printf("num + 1: %d. ", num + 1); //在上限增加1 printf("num + 2: %d. ", num + 2); return 0; }
2、c语言如何处理整数值的下溢
#include <stdio.h> int main(void) { int i; int j = 1; for(i = 1; i <= sizeof(int) * 8 - 1; i++) { j *= 2; } printf("j = %d. ", j); //j为int型整数值的下限 printf("j - 1: %d. ", j - 1); //下溢1 printf("j - 2: %d. ", j - 2); return 0; }