c语言中如何处理整数值的上溢和下溢
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.\n", j - 1); // 确定int型为正的上限 int num = j - 1; printf("num: %d.\n", num); printf("num + 1: %d.\n", num + 1); //在上限增加1 printf("num + 2: %d.\n", 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.\n", j); //j为int型整数值的下限 printf("j - 1: %d.\n", j - 1); //下溢1 printf("j - 2: %d.\n", j - 2); return 0; }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步