[TOC] 整数溢出介绍 C语言中整数的分类及各自的大小范围: 类型 字节 范围 short int 2byte(word) 0~32767(0~0x7fff) -32768~-1(0x8000~0xffff) unsigned short int 2byte(word) 0~65535(0~0xffff) int 4byte(word) 0~2147483647(0~0x7fffffff) -2147483648~-1(0x80000000~0xffffffff) unsigned int 4byte(word) 0~4294967295(0~0xffffffff) long 8byte(word) 正: 0~0x7fffffffffffffff 负: 0x8000000000000000~0xffffffffffffffff unsigned long 8byte(word) 0~0xffffffffffffffff 正是因为这些类型的大小范围的限制导致整数溢出。 整数溢出原理 整数溢出的异常有3种: 溢出 只有有符号数才会发生溢出。 溢出标志