计算机存储为什么用二进制,计算机为什么使用二进制存储数据?

这跟计算机的硬件有关,早期计算机的是由大量电子管,继电器,各种电气元件组成的,用电功率相当大,每小时用电约为140千瓦,有一定计算机知识的大概都知道其体积也相当庞大,并且想让计算机存储数据就要保持计算机一直处于开机通电状态,操作非常困难,维护也非常困难,而现在的电脑已经发展的已经非常便捷,并且运算能力非常强大,但是存储信息的原理并没有大的改变。

现代计算机存储信息用的都是硬盘,是由成千上万个晶体管组成的,但是比起早期计算机的各种元件,其体积已经微乎其微了,晶体管有以一个很重要的特性就是单向导电,这样就形成了电路门,有通电和不通电两种状态,为了更好的表示并利用这两种状态,人们把其定义为true和false,也可以表示为no和yes,或者0和1,只是一种表达形式,不同的场合用法不同而已,这样n个电路门通过不同的连接方式就有无数个不同的组合,就可以表示各种不同的信息,这就是计算机为什么使用二进制来存储数据。

拿编程语言里的byte这个数据类型举例,有计算机基础的都知道byte数据类型的大小范围是-128—127,并且占一个字节的大小,但这是为什么呢,通常情况下一个字节等于8位,8位就相当于硬件里的电路门,而一个8位的电路门只能有256种排列组合,表示数字的话可以表示0—255之间的数,用二进制表示的话如下图:

7d37a21f57904e1294375b27019c2eba.png

可以看出来二进制的 0000 0000 到 0111 1111 和 1000 0000 到 1111 1111 刚好都是128个数,在电路们里面没有正负,为了能表示数学逻辑里的正负,提高人机交互性,所以人为把最高位第8位的 0和1定义为正负符号,这样前一半表示十进制的 0 到 127,后一半表示十进制的 -1到 -128,所以后一半 1000 0000 到 1111 1111 按照大小排列是其的反向排列,通常我们叫其补码,并且这样排列运算起来也很方便例如十进制的-1+1=0,二进制则表示为1111 1111 + 0000 0001正好也等于0。

其他基本数据类型也是同样的原理。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值