logo
  • 世界杯德国vs韩国
『踩坑记录』为什么10000000表示的是-128

双目测距

和风万里:

请问两个相机不是同水平线的可以用这种方法标定吗,比如两相机光轴平行,再垂直面内有左右上下的偏差,并不是同一水平线。

『踩坑记录』为什么10000000表示的是-128

linux码蚁小白:

补码不是没有+0和-0之分吗,而计算机里存储编码不是补码吗,为啥说不一样了?

『踩坑记录』为什么10000000表示的是-128

做而论道_CS:

由补码换算到十进制数,也极其简单。

你只需记住:【补码首位的权,是负数】。

一般的八位二进制数,各个位的权是:

128、64、32、16、8、4、2、1;

如果是八位的补码,各个位的权则是:

-128、64、32、16、8、4、2、1。

例如,有一个补码:1110 0000,

它代表的十进制是:-128 + 64 + 32 = -32。

如果,另一个补码:0110 0000,

它代表的十进制是:0 + 64 + 32 = +96。

你看看,仅仅使用【进制转换】,不就完事了吗?

哪里还需要 “原码 ... ” 这些垃圾!

『踩坑记录』为什么10000000表示的是-128

做而论道_CS:

在 8 位的原码和反码中,

零,有重复编码,还缺少一个数值-128。

因此,它们都是残疾的乱码,计算机根本就无法使用。

表示整数,计算机唯一使用的,只有:补码。

计算机为什么要使用补码呢?

使用补码的意义是:【把减法,转换成加法运算】。

统一了加减法,计算机只须配置一个加法器,即可走遍天下。

那么,2-2 = 0,计算机是怎么算的呢?

用 8 位 2 进制数,计算如下:

0000 0010 + xxxx xxxx = 0000 0000。

其中的 xxxx xxxx 就是【-2 的 8 位补码】。

移项: xxxx xxxx = 0000 0000-0000 0010,

算出: xxxx xxxx = (借位 1) 1111 1110。

借位,不属于 8 位数,不用理它。

那么: xxxx xxxx = 1111 1110。

这就是【-2 的 8 位补码】!

负数的补码,就是这么求出来的。

简不简单? 意不意外?

求补码时,原码反码 ...,都是无用的。

『踩坑记录』为什么10000000表示的是-128

做而论道_CS:

由符号位开始学习补码,就走错路了。

上过小学就知道,整数有:正整数、零、负整数。

世界上只有一个零!

零,即不是正数,也不是负数。

计算机大佬,给零加上了正负号,弄出来:+0、-0!

真让人怀疑,他们小学毕业了吗?

我们的计算机老师,水平也太洼,不辨是非,胡乱跟风。

在原码和反码中,一个零,都有两个编码:+0、-0。

所以,8 位原码反码都只能表示 255 个数:-127~+127。

它们,比补码少表示了一个十进制数:-128。

原码和反码,都没有-128。

那么,用 “取反加一” 求-128 的补码,就碰壁了。

Duang ! 拿什么取反?

Duang ! 拿什么加一?

碰的 Duang、Duang 的!

Copyright © 2088 1990世界杯_世界杯竞猜 - xindsw.com All Rights Reserved.
友情链接