解码数字密码:原码反码补码的奇妙联系

解码数字密码:原码反码补码的奇妙联系

计算机为什么选择二进制?揭秘背后的故事

无论是程序员还是非程序员,二进制这个概念应该都听说过。事实上,不仅仅是计算机,几乎所有的电子设备都采用了二进制。那么,为什么会这样呢?为了回答这个问题,我们首先要明白为什么大多数的人类选择十进制。原因其实很简单,因为人类有十根手指。在人类文明的发展过程中,也出现过其他的进制,比如苏美尔人的十二进制、人的二十进制以及古巴比伦的六十进制。这些进制的出现都是基于人类身边最直接的物品来确定。那么,机器为什么选择二进制呢?答案是开关。机器只有两种状态:“开”和“关”,正好对应二进制的“1”和“0”。机器采用二进制成为了自然而然的选择。但是仅仅表示一个数据的话,似乎只需要一位二进制就能完成。要命的是数字不仅有正数还有负数。于是人们就将最高位拿出来表示符号,正数用“0”,负数用“1”。用这种方式表示的数字叫做机器数或原码。例如,+3的原码是0000 0011,-5的原码是1000 0101。然而原码在进行不同符号的加法或同符号减法运算时会出现麻烦。于是人们引入了反码的概念。正数的反码与原码一致,负数的反码则是将原码除符号位以外所有位取反。但是在实际应用中人们发现无论原码还是反码都存在一个问题那就是正负零的表示问题为了解决这一问题人们引入了补码的概念补码可以更好的解决计算问题同时也解决了正负零的问题虽然难以理解但是在计算机系统中数值是一律用补码来表示和存储的当然这一切的背后是人类智慧的结晶。如今计算机虽然强大但我们不能忘记这一切的背后是人类智慧的赋予的奇迹。


解码数字密码:原码反码补码的奇妙联系