溢出是黑客利用程序的漏洞,专门开发的一种程序,加相应的参数运行后,就可以达到某种目的。溢出是程序设计者设计时的不足所带来的错误
溢出分为缓冲区溢出、 内存溢出、数据溢出等
在计算机中,整数分为无符号整数以及有符号整数两种
数据在计算机中的存储方式都是二进制序列的形式,比如整数“10”在计算机中就是以二进制序列“1010”进行存储的。
常见的整数类型有8bit(单字节字符、布尔类型) 16bit(短整型) 32bit(长整型)等。
计算机中整数都有一个宽度,即可以表示的最大值。当试图保存一个比它可以表示的最大值还大的数时,就会发生整数溢出。
例如,将一个32bit的int类型数据存放在一个8bit的char类型变量里就会发生整数溢出现象整数溢出有的时候不会造成太大的影响,但也有可能导致极为严重的后果
ISOC99标准规定整数溢出将导致“不确定性行为”,意即遵循标准的编译器可以做它们想做的任何事,比如完全忽略该溢出或终止进程。大多数编译器都会忽略这种溢出,这可能会导致不确定或错误的值保存在了整数变量中。
原文:https://www.cnblogs.com/cainiao-chuanqi/p/14704062.html