这里用到了补码的运算规则:[X+Y]补=[X]补+[Y]补 求出[X]补+[Y]补后还要求一次补,才能得到答案X+Y
就是把0变成1把1变成0,就是求反了,求反后+1再添上符号位.就得到了补码,注意这里符号位是不参与取反与+1的10000001 首位(符号位)是1,这个数位负数。
取反:11111110加1 11111111结果为-127 。
负数的补码={原码符号位不变}+{数值位按位取反后+1} or = {原码符号位不变}+{数值位从右边数第一个1及其右边的0保持不变,左边安位取反} 以十进制整数+97和-97为例:+97原码=0110_0001b +97补码=01。
给出具体的计算方法,说的通俗易懂点,如:00000001,1100100等纯小数的补码遵循的规则是:在得到小数的源码后,小数点前1位表示符号,从最低(右)位起,找到第一个“1”照写,之后“见1写0,见0写1”。
以-0.64为例,其原码为1.1010_0011_1101_0111b 则补码为:1.0101_1100_。
1、二进制补码的计算方法:二进制的补码计算非常简单,各种教材中也经常使用二进制来说明源码、反码与补码三者的关系,掌握一定基础的人都知道一下规则:(1)原码。
最高位为符号位,0表示正数,1表示负数。
例如:X=0b11(。