整型溢出问题
2014-04-24 10:29
162 查看
整型溢出问题是常见问题,通过下面的例子去品味整型溢出的“乐趣”吧。
运行结果
unsigned char ch 0
signed char sch * mul 123
signed char sch -128
#include <stdio.h> /* 对于unsigned整型溢出,C的规范是有定义的——“溢出后的数会以2^(8*sizeof(type))作模运算”,也就是说,如果一个gned char(1字符,8bits)溢出了,会把溢出的值与256求模。 对于signed整型的溢出,C的规范定义是“undefined behavior”,也就是说,编译器爱怎么实现就怎么实现。 */ void test_IntegerOverflow() { unsigned char ch = 0xff; signed char sch = 0x7f, mul = 0x05; printf("unsigned char ch %d\n", ++ch); printf("signed char sch * mul %d\n", (signed char)(sch*mul) ); printf("signed char sch %d\n",++sch); } int main() { test_IntegerOverflow(); return 0; }
运行结果
unsigned char ch 0
signed char sch * mul 123
signed char sch -128
相关文章推荐
- C语言的整型溢出问题
- C语言的整型溢出问题
- C语言的整型溢出问题
- 关于MySQL的整型数据的内存溢出问题的应对方法
- C语言的整型溢出问题
- mysql无符号整型溢出问题及解决办法
- C语言的整型溢出问题
- C语言的整型溢出问题
- 记最近遇到的几个小问题(字符串转整型溢出,汉字乱码,双网卡双默认IP)
- C语言的整型溢出问题
- C语言的整型溢出问题
- 关于MySQL的整型数据的内存溢出问题的应对方法
- C语言的整型溢出问题 int、long、long long取值范围 最大最小值
- C语言的整型溢出问题
- C语言的整型溢出问题
- 一个简单的C语言 整型数据溢出问题
- C语言的整型溢出问题
- C语言的整型溢出问题
- 深入分析python中整型不会溢出问题
- C语言的整型溢出问题