17,原码,反码,补码

来源:互联网 发布:索尼手机 知乎 编辑:程序博客网 时间:2024/06/05 17:30

#include <stdio.h>


int main(int argc,constchar * argv[]) {

    /*

     *计算机存储数据是存储补码,用补码来计算的,可以忽略正负号,便以计算(计算机只能执行加法)

     *原码,补码和反码分两种情况

     1,正数的原码,补码和反码都是一样的

        eg:15

        0000 1111 (原码,补码,反码)

     2,负数的原码,补码和反码的规则如下:

        eg-15

        1)第一个位表示正负,0为正,1为负A

            1000 1111  (原码)

        2)反码就是除第一个位数之外,其他取反,1001

            1111 0000 (反码)

        3)补码就是反码+1

            1111 0001 (补码)

     3,使用补码进行计算:

        eg:15-2

        15(反码):0000 1111

        -2(原码):1000 0010

        -2(补码):1111 1101

        -2(反码):1111 1110

        15 - 2的补码计算如下

        0000 1111

     +  1111 1110

     --------------

        0000 1101

     结果为整数,也就是原码,所以,其数值为13

     */

    return 0;

}


0 0