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

二进制计算问题

为什么不直接计算11111111  11111111  11111111  11001000

而是取其对应的原码再取相反数呢?

正在回答

6 回答

计算机能算出来,但你人按你这种方式算不出来啊,所以要用人为的方法进行计算啊

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

楼上都回答了我想说的了···,负数在计算机中是以补码方式存在的

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

负数在计算机中是以补码的形式存储的

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

计算机以补码存储数值,操作也是在补码基础上操作,左移位2个后,再需要转成原码显示给人看,而补码转成原码的过程就和原码转补码的过程相反,于是乎,先-1 再取反,明白了吗女神

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

负数的码是通过取反加一得到的

那么负数左移两位后要按照反方法将这个数求出来(即减一再取反)

就比如说你能知道11111111 11111111 11111111 11110010就是-14吗?

不也是要减一再取反才能得到14吗

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

暮女神 提问者

为什么计算器能算出00000000 00000000 00000000 00111000是56,却不能算11111111 11111111 11111111 11110010呢?
2017-02-24 回复 有任何疑惑可以回复我~
#2

西瓜爱太阳_sun 回复 暮女神 提问者

计算机是直接用补码存储数据的,实际上计算机识别的就是11111111 11111111 11111111 11110010。 而为了方便我们理解我们人为转化成为了00000000 00000000 00000000 00111000。 个人见解,不对请指正
2017-02-24 回复 有任何疑惑可以回复我~

我不是很清楚你问的问题的具体内容以及要求,可是按照运算符的使用规则,我们可以对这个变码按照类似同类项合并,提公因式的方法来逆向分析为什么需使用原码。经过一番推导演绎我们可以发现补码返回原码后,对参数的构造就像生成果实树后我们需要先拨皮去补码,然后才能对果实(原码)进行递归求导可得。

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

举报

0/150
提交
取消
二进制基础
  • 参与学习       99871    人
  • 解答问题       210    个

二进制是计算机唯一能识别的语言,是学习计算机技术必备的知识

进入课程

二进制计算问题

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