Java教程

数据的溢出、饱和、截断

本文主要是介绍数据的溢出、饱和、截断,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

转载自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语言中数据发生溢出后,默认采取的是截断策略。

这篇关于数据的溢出、饱和、截断的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!