负小数原码怎么写( 二 )


如果机器数是正数 , 则该机器数的反码与原码一样;如果机器数是负数 , 则该机器数的反码是对它的原码(符号位除外)各位取反而得到的 。设有一数X , 则X的反码表示记作〔X〕反 。
例如:X1= +1010110 X2= 一1001010 〔X1〕原=01010110 [X1]反=〔X1〕原=01010110 [X2]原=11001010 [X2]反=10110101 反码通常作为求补过程的中间形式 , 即在一个负数的反码的未位上加1 , 就得到了该负数的补码 。例1. 已知[X]原=10011010 , 求[X]补 。
分析如下:由[X]原求[X]补的原则是:若机器数为正数 , 则[X]原=[X]补;若机器数为负数 , 则该机器数的补码可对它的原码(符号位除外)所有位求反 , 再在未位加1而得到 。现给定的机器数为负数 , 故有[X]补=[X]原十1 , 即 [X]原=10011010 [X]反=11100101 十) 1 [X]补=11100110 例2. 已知[X]补=11100110 , 求〔X〕原 。
分析如下:对于机器数为正数 , 则〔X〕原=〔X〕补 对于机器数为负数 , 则有〔X〕原=〔〔X〕补〕补 现给定的为负数 , 故有:〔X〕补=11100110 〔〔X〕补〕反=10011001 十) 1 〔〔X〕补〕补=10011010=〔X〕原 或者说:数在计算机中是以二进制形式表示的 。数分为有符号数和无符号数 。
原码、反码、补码都是有符号定点数的表示方法 。一个有符号定点数的最高位为符号位 , 0是正 , 1是副 。
以下都以8位整数为例 ,  原码就是这个数本身的二进制形式 。例如0000001 就是+11000001 就是-1 正数的反码和补码都是和原码相同 。
负数的反码是将其原码除符号位之外的各位求反 [-3]反=[10000011]反=11111100 负数的补码是将其原码除符号位之外的各位求反之后在末位再加1 。[-3]补=[10000011]补=11111101 一个数和它的补码是可逆的 。
为什么要设立补码呢? 第一是为了能让计算机执行减法: [a-b]补=a补+(-b)补 第二个原因是为了统一正0和负0 正零:00000000 负零:10000000 这两个数其实都是0 , 但他们的原码却有不同的表示 。但是他们的补码是一样的 , 都是00000000 特别注意 , 如果+1之后有进位的 , 要一直往前进位 , 包括符号位!(这和反码是不同的!) [10000000]补 =[10000000]反+1 =11111111+1 =(1)00000000 =00000000(最高位溢出了 , 符号位变成了0) 有人会问 10000000这个补码表示的哪个数的补码呢? 其实这是一个规定 , 这个数表示的是-128 所以n位补码能表示的范围是 -2^(n-1)到2^(n-1)-1 比n位原码能表示的数多一个 又例:1011 原码:01011 反码:01011 //正数时 , 反码=原码 补码:01011 //正数时 , 补码=原码 -1011 原码:11011 反码:10100 //负数时 , 反码为原码取反 补码:10101 //负数时 , 补码为原码取反+1 0.1101 原码:0.1101 反码:0.1101 //正数时 , 反码=原码 补码:0.1101 //正数时 , 补码=原码 -0.1101 原码:1.1101 反码:1.0010 //负数时 , 反码为原码取反 补码:1.0011 //负数时 , 补码为原码取反+1 在计算机内 , 定点数有3种表示法:原码、反码和补码 所谓原码就是前面所介绍的二进制定点表示法 , 即最高位为符号位 , “0”表示正 , “1”表示负 , 其余位表示数值的大小 。
反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反 , 但符号位除外 。补码表示法规定:正数的补码与 。
【负小数原码怎么写】