先求这个数的补码,之后将补码符号位取反,数值位不变,得到的数就是移码 。
之所以计算机中涉及移码,是因为在浮点数的运算中会用到,在运算中一般使用双符号位,
即最高位用0填充,如果是正数,次高位用1;如果是负数,次高位用0,之后将数值位取反加1(只是在负数时);
例:
(以下给出的x均为原码):
x=+011,则x的移码:01 011;
x=- 011,则x的移码:00 101;
(注意):给出的x符号位1位,现在用+、-号表示,数值位3位
例:
x=-5,求它的移码
因为x是负数,所以所得的移码前两位是00,|x|的原码是101,所以后三位用101取反加1,得到的是011,即最后得到的x的移码就是00011
我想起基因突变中的移码了
移码运算是一种比较简单但常用的数值比较方法,具体计算步骤如下:
1. 求阶差:│ΔE│=|1010-0110|=0100
2. 对阶:Y的阶码小,Y的尾数右移4位[Y]浮变为 0 1 010 0000110 1101暂时保存
3. 尾数相加,采用双符号位的补码运算00 1100110+00 000011000 1101100
4. 规格化,满足规格化要求
5. 舍入处理,采用0舍1入法处理故最终运算结果的浮点数格式为: 0 1 010 1101101,即X+Y=+0. 1101101*210
把原码的符号位求反