您的位置:首页 > 理论基础

计算机发展中的两大“杀手”

2015-11-23 16:48 309 查看

在计算机的发展过程中,存在着两大“杀手”:一个是断电,一个是除法运算中的被除数是0。

断电:用电脑过程中停电了就会有一定的伤害,因为电脑运行时,硬盘盘片在高速旋转,断电硬盘磁头会回到零磁道。而突然的断电使得硬盘还没有降速就立刻回到零磁道后扣下盘片,可见突然停电是会对电脑有损伤的,最大的受害者就是硬盘,会造成硬盘信号出错,出现坏道,产生物理逻辑错误。但最大的危险不在于突然停电,而在于跳电。断电后在瞬间又恢复供电,那样对电脑的伤害是最大的,严重的甚至烧毁主板。建议购买UPS,可以在断电后继续供电,让你有足够时间关闭电脑,保障了你电脑的安全。(详情百度UPS)

[b]被除数是0:[/b]

1.数学上:我们知道除法有两种含义,一个是“平均分”,一个是“每几个一份”。例如有6支铅笔,平均分给三个小朋友,每个小朋友分得几支?就是把6平均分成三份求每份是几,所以6÷3=2(支)。同样有6支铅笔,要想每个小朋友分2支,可以分给几个小朋友?就是求6里面有几个2?算式6÷2=3(支)。上述情况要是除数为0的话就出现了下面的情况:(1) 把6支铅笔平均分成0份,每份是几支?这很荒谬的,6支铅笔怎么能分成0份,这是不可能的。(2)有6支铅笔,每个小朋友分0支,能分给几个小朋友?这也很可笑了,每个小朋友分0支,小朋友就可以无穷多了。这里的答案是不确定的,所以0不能做除数了。

因此说:“0做除数没有意义”或“规定0不能做除数”。

2.计算机:被除数为0在数学上的解就是无穷大,对于计算机来说,如果是无穷大,则意味着内存将全部被占满,计算机就会抛出异常。

正常情况:

public class Exception {

public static void main(String[] args) {
int x = 2;
int y = 1;
int z = x/y;
System.out.println(x+"/"+y+"="+z);
}
}


结果是:



被除数为0:

public class Exception {

public static void main(String[] args) {
int x = 2;
int y = 0;
int z = x/y;
System.out.println(x+"/"+y+"="+z);
}
}


结果为:



感觉挺有意思的,所以就写下来玩玩~~。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: