为什么计算机中数字符号位0表示正数,1表示负数

  大学时上计算机组成原理课程的时候,上到计算机如何存储数据的相关知识时,因为计算机世界里面所有的数据归根结底都是由0和1来存储的,那么如何表达数值的正负呢?只知道书本上说是有一个符号位,当该符号位为0时,表示的是正数,为1时表示负数。我那时没搞懂为什么这样规定,我觉得1么,代表正数挺合理的,那么0就自然表示负数咯,所以不解,只能死记硬背:0正1负
  我个人对于不知道前因后果而要死记硬背的东西是很难记住的,黑格尔在《法哲学原理》里说过:存在即合理,我也觉得一个东西的存在必然是有它的原因的,只有知道为什么这样、找到根源,我们才能更好地理解它。现在我来揭示在计算机表示数值正负时,为什么0为正,1为负。
  当代绝大多数计算机表示浮点数都是采用IEEE标准的,这里简化一下,我们只关心符号位,那么对于一个数,计算机其实是以下面的式子来描述它的:(-1)s × \times ×X,这里的指数s就是用来决定数值X是正数还是负数,显而易见,当s=0时,则X为正数(因为任何数的0次幂都是1),当s=1时,则X为负数(因为-1的1次幂为-1),至此我们就理解了为什么符号位为0时表示正数,为1时表示负数啦,而且这辈子都不会记错了吧!

你可能感兴趣的:(其他)