美文网首页
交换两个数字

交换两个数字

作者: Smallwolf_JS | 来源:发表于2021-04-24 19:30 被阅读0次

    include <stdio.h>

    define SWAP1(a,b) \

    {
    int temp = a;
    a = b;
    b = temp;
    }

    define SWAP2(a,b) \

    {
    a = a + b;
    b = a - b;
    a = a - b;
    }

    define SWAP3(a,b) \

    {
    a = a ^ b;
    b = a ^ b;
    a = a ^ b;
    }

    符号 描述 运算规则
    & 两个位都为1时,结果才为1
    两个位都为0时,结果才为0
    ^ 异或 两个位相同为0,相异为1
    ~ 取反 0变1,1变0
    << 左移 各二进位全部左移若干位,高位丢弃,低位补0
    >> 右移 各二进位全部右移若干位,对无符号数,高位补0,有符号数,各编译器处理方法不一样,有的补符号位(算术右移),有的补0(逻辑右移)

    相关文章

      网友评论

          本文标题:交换两个数字

          本文链接:https://www.haomeiwen.com/subject/csmlrltx.html