小数怎么变补码和反码?
问题描述:
小数怎么变补码和反码?
答
数值有正负之分,计算机为了存放负数,就用一个数的最高位存放符号(0为正,1为负),计算机里就出现了正零和负零现象.如果用1个byte来写,正零是00000000,负零是10000000.正零不等于负零了.为了使涉及负数的运算不出错,想出了反码和补码.
负数,除符号位外的其余各位逐位取反就产生了反码(0取1,1取0)
负数的补码就是反码加一.
正数的原码反码补码是一样的.
小数怎么变补码和反码?先要化成二进制原码.再看小数如何表示.
如果用定点小数,则最高位是符号位,接下来是小数最高位,从原码到补码,反码的做法同上面说的整数做法一样.
如果用浮点数,阶码部分为8位补码定点整数,尾数部分为24位补码定点小数.
阶码部分有一位阶符位,表示指数的符号,其余阶码表示幂次.
尾数部分,数符表示尾数的符号位、其余尾数表示规格化后的小数值.