首页 > 用户发贴区 > 编程问题提问区 > 大虾帮帮忙!!!
2006
06-02

C++中的位运算符(~)是怎样运算的


大虾帮帮忙!!!》有 3 条评论

  1. cboy 说:

    这是按位取反,是对一个二进制数的每一位取反。
    比如:
    025:  00010101
    ~025:11101010

    就是把二进制的1变成0,0变成1

  2. wuhao9999 说:

    但为什么~11=-12    ~178=-179

    请告诉我

  3. xstar 说:

    计算机中,以补码形式保存数据。

    正数的补码是其原码

    负数的补码是其正数的反码加一

     
    ~11
    ~0000 1011
    1111 0100
     
    12的原码 0000 1100
    -12 为反码加一
    反码         1111 0011
    补码          1111 0100

留下一个回复