为了账号安全,请及时绑定邮箱和手机立即绑定

你从没思考过的最简单问题

计算机是怎么知道1+1=2的?

正在回答

4 回答

计算机只识别二进制,任何的数据运算都是最后转换成二进制的运算,所以这就涉及到在学计算机的时候需要学各种进制与二进制的转化,而在二进制中基本的单位就是0,1。 0在计算机内部就是一个低电压,而1呢就是一个高电压,所以在计算机的内部就形成了,这种的高低电压,而高低电压有代表不同的数字即二进制,二进制在转化成这种数据运算,数据运算还原成各种的 音频、视频等文件。

case1: 0+0 = 0

case2: 0+1 = 1+0 = 1
case3: 1+1 = 0, 并且进位。

可以用循环来写:

case1: 相同

case2: 不同

case3: 相同,但是有进位。
Ok,找到我们要的规律了,
不考虑Carry(进位),就是XOR(异或)运算,

而Carry本身是一个AND(与)运算。

那么从数字电路入手,有:
Truth Table:

http://img1.sycdn.imooc.com//551d5fc800015fb402330117.jpg

~~~~~

感兴趣的话去看一下《编码的奥秘》

0 回复 有任何疑惑可以回复我~

计算机  运算时二进制运算  如果你硬是要知道所以然  建议你去看看计算机组成原理这本书

0 回复 有任何疑惑可以回复我~

这个运算操作系统完成的,还是?

真不知,请多多指教


0 回复 有任何疑惑可以回复我~

    01 (1)

+ 01 (1)

= 10 (2)

进行与运算,进位置一

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530696    人
  • 解答问题       6091    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

你从没思考过的最简单问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信