址是01234附近,累加器a的内容在第3次循环迭代后,从正数变为了负数。
假设我们的算法轨道半长轴参数a永远为正,并且持续累加。如果输入的数据轴里某一组的初始值异常大,就可能会在连续累加三次过后,超过累加器字长能表示的最大正数,从而引发“正数上溢”。”
听到林子阳的这番话,计算机老师的表情变得十分错愕。
之前他还觉得林子阳不是计算机专业的学生,对计算机方面的知识一窍不通,他的话没有任何可信度。
但此时听他说的这些专业名词,哪里象是对计算机一无所知的样子?
看来人家不仅懂,而且学的还很精。
见林子阳说到一半,突然停顿了,计算机老师冲他道,“同学,你继续说呀。”
林子阳见这位老师把他的话听进去了,便清了清嗓子,继续道,“这溢出后的数值从正最大跳变到负最大,后续的所有计算基于这个错误赋值进行,结果完全发散,从而导致程序逻辑混乱,打印出乱码,而且连续陷入非预期的跳转。
所以我觉得这更符合逻辑错误导致的内存溢出和流程失控,不象是单纯的物理读卡错误。”
听了林子阳的一顿分析,计算机老师更惊讶了。
其实他也知道“溢出”的概念,但他了解的知识,更多是在理论层面。
在今天如此复杂且共享变量的实际作业程序中,身为计算机老师,他实在无法快速定位到溢出点,并且准确判断其原因。
👉&128073; 当前浏览器转码失败:请退出“阅读模式”显示完整内容,返回“原网页”。