发布于 2011-11-04 22:18:15
5楼
需要分清3件事:求整数的补码、求整数的反码和反码的定义。
下面是STEP 7对求整数的补码、求整数的反码指令的解释:
NEG_I(对整数求补码)读取IN参数的内容并执行求二进制补码指令。二进制补码指令等同于乘以(-1)后改变符号(例如:从正值变为负值)。
INV_I(对整数求反码)读取IN参数的内容,并使用十六进制掩码W#16#FFFF执行布尔"异或"运算。此指令将每一位变成相反状态。
求反码的操作是将二进制数逐位取反(0变为1,1变为0)。求补码的操作是将二进制数逐位取反后加1,该指令用来实现绝对值相同的正数和负数之间的转换。
补码的定义如下:正数的补码就是它本身;将正数逐位取反后加1(对正数使用NEG_I指令),得到绝对值与它相同的负数的补码。
追求完美