欢迎光临散文网 会员登陆 & 注册

13、C语言原码反码补码,按位取反~操作符

2023-06-12 21:16 作者:漫天飞羽zz  | 我要投稿


//目标:有效代码3万行   量变引起质变

//算数操作符:+   -   *   /

//移位操作符:>>    <<

//位操作符:&按位与     |按位或     ^按位异或

//赋值操作符:=     +=      -=      *=      /=      &=      ^=      |=      >>=     <<=  


//整数在内存中存储的是补码

//一个整数的二进制有3种:例如 -1

//原码      最高位是符号位          10000000 00000000 00000000 00000001

//反码      符号位不变,其他取反    11111111 11111111 11111111 11111110

//补码      反码+1                 11111111 11111111 11111111 11111111


//如果是正数,原码反码补码相同


#include <stdio.h>

int main(int argc, char* argv[])

{

    int a =0;   //0的补码00000000 00000000 00000000 00000000

    printf("\r\n---------------------\r\n");


    printf("~a =%d\r\n",~a);    //按位取反(所有二进制位中的1变0,0变1)     ~00000000 00000000 00000000 00000000=11111111 11111111 11111111 11111111

                                                                        //补码11111111 11111111 11111111 11111111-->原码10000000 00000000 00000000 00000001

                                                                        //printf打印%d的是原码,内存存储的是补码

    printf("\r\n---------------------\r\n");

    return 0;

}



13、C语言原码反码补码,按位取反~操作符的评论 (共 条)

分享到微博请遵守国家法律