溢出一般是指计算机在运算过程中产生的

 我来答
甘李柚
2023-03-03 · TA获得超过858个赞
知道大有可为答主
回答量:8894
采纳率:99%
帮助的人:134万
展开全部

溢出一般是指计算机在运算过程中产生的(B.数超过了机器的位所表示的范围)。

A.数据量超过了内存容量。

B.数超过了机器的位所表示的范围。

C.数超过了变量的表示范围。

D.以上答案都不对。

【解析】假如我们设定一个变量为整数时,程序会向作业系统要求4个字节(32bits)来存放资料其可存放的范围为 -32768∼+32767 ,当数值超过这个范围时,因内存空间已固定为32bits,无法再增加,在C语言里只取32bits,就会造成溢出。故选:B。

溢出是黑客利用操作系统的漏洞,专门开发了一种程序,加相应的参数运行后,就可以得到你电脑具有管理员资格的控制权,你在你自己电脑上能够运行的东西他可以全部做到,等于你的电脑就是他的了。溢出是程序设计者设计时的不足所带来的错误。

在几乎所有计算机语言中,不管是新的语言还是旧的语言,使缓冲区溢出的任何尝试通常都会被该语言本身自动检测并阻止(比如通过引发一个异常或根据需要给缓冲区添加更多空间)。但是有两种语言不是这样:C 和 C++ 语言。C 和 C++ 语言通常只是让额外的数据乱写到其余内存的任何位置,而这种情况可能被利用从而导致恐怖的结果。

更糟糕的是,用 C 和 C++ 编写正确的代码来始终如一地处理缓冲区溢出则更为困难;很容易就会意外地导致缓冲区溢出。除了 C 和 C++ 使用得 非常广泛外,上述这些可能都是不相关的事实;例如,Red Hat Linux 7.1 中 86% 的代码行都是用 C 或 C ++ 编写的。因此,大量的代码对这个问题都是脆弱的,因为实现语言无法保护代码避免这个问题。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式