其他分享
首页 > 其他分享> > 数据的溢出、饱和、截断

数据的溢出、饱和、截断

作者:互联网

转载自https://blog.csdn.net/lingduchunge/article/details/103665800

溢出:指给某个变量赋值时,超出了该类型变量所能表达的范围,比如:

unsigned char a;
a = 260;//a的取值范围是0~255,使a=260就会导致数据溢出,a最终得到的是一个错误的值;

饱和:指给某个变量赋值时,超出了该类型能表达的范围,如果采取饱和策略,就会让该变量等于一个最大值或者最小值,比如:

unsigned char a;
a = 260;//a溢出了,如果采取饱和策略则a的最终结果是255

截断:指给某个变量赋值时,超出了该类型能表达的范围,如果采取截断策略,则变量只保留数据中低字节的数据,高字节的数据则会丢弃,比如

unsigned char a;
a = 260;//如果采取截断策略,260 = 0x0104,则a的最终结果是4;

这里强调一下,c语言中数据发生溢出后,默认采取的是截断策略。

标签:变量,unsigned,char,截断,260,饱和,溢出
来源: https://blog.csdn.net/lianghudream/article/details/123649683