关于三菱plc 求补指令 二进制补码转换

我记得在以前学数电时,补码转换是如果为正数就不变,如果是负数,符号位不变数值位按位取反再加1(x)补=(x)反+1如:(100101001)原=(111010111)补在... 我记得在以前学数电时,补码转换是

如果为正数 就不变,如果是负数,符号位不变 数值位按位取反 再加1 (x)补=(x)反+1 如: (100101001)原=(111010111)补

在plc求补指令 为什么说是 绝对值不变的变号操作?
展开
 我来答
haolizhong4924
2011-08-30 · TA获得超过5217个赞
知道小有建树答主
回答量:600
采纳率:50%
帮助的人:268万
展开全部
您说的“如果为正数 就不变,如果是负数,……”,
这话不是“补码”一词的定义。这是有符号算术数的“补码表示法”。

“补码”一词有两种用法,意思有所不同。

一个含义是:两个机器代码互为“补码”。定义是:
如果两个机器码的“机器相加”结果是0,就称这两个机器码互为“补码”。

在采取第一个含义时,为了和下面的另一个含义区分,有时将这个含义的“补码”一语叫做“机器补码”。

另一个含义是:有符号算术数的“补码表示法”。这就是你上面说的了。
符号算术数的“补码表示法”定义是:
如果这个算术数是正数,就用这个数本身的二进制代码作为这个数的机器码;如果这个算术数是负数,就用这个数的绝对值的机器码的“机器补码”作为这个负数的机器码。这种表示方法称作“补码表示法”。
采用“补码表示法”时,只要原数值不超出“溢出”的界限,那么,机器码的二进制位的最高位就可以看作符号位。

根据上述规定,可以知道,如果两个有符号数绝对值相等符号相反,那么,他们的“补码表示法”的机器码,一定是互为“机器补码”了。

所以,对机器码执行“机器求补”的操作,恰好相当于对原算术数“乘以负一”。也就是您说的“绝对值不变的变号操作”。

至于您说的“取反加一”,那就是“机器补码”的求法。
既然互为补码的两个码机器和为零,而互为反码的两个机器码的和为“全1码”,而“全1码”再加1,机器加法最高进位丢掉,就成了“全零码”,当然“取反加一”就是“机器补码”了。

计算机的“求补”指令,既是“求机器补码”,又等于是有符号数乘以负一。

另外,再顺便指出:上面说的“机器求补”,是整个代码求补,并不需要对“符号位”单独处理。只要数值本身不溢出,那么按上述规则得到的机器码符号位就正好符合正0负1的规则。
匿名用户
2018-08-16
展开全部
就是dneg 就是这个数是正数 就是正数 是负数的话 乘以负一变成正数 类似于绝对值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式