第06天C语言(08):位运算-练习3

一、概念
二、代码
#include <stdio.h>
int main()
{
#pragma 1.要求交换两个变量的值
    int a = 10;
    int b = 5;
    printf("交换前 a = %i,b = %i\n",a,b);
    // 第一种方式
    /*
    int temp = a;
    a = b;
    b = temp;
     */
    // 第二种方式
    /*
    a = a + b;  // 15
    b = a - b;  // 10
    a = a - b;  // 5
     */
    
#pragma 异或运算
    /*
     不相同为1, 相同为0 (异或)
     */
    
    /*
    a = a ^ b;
    b = a ^ b; // a ^ b ^ b = a ^ 0 = a
    a = a ^ b; // a ^ b ^ a = b ^ 0 = b
    */
    
    b = a ^ b;
    a = a ^ b; // a ^ a ^ b = b ^ 0 = b
    b = a ^ b; // a ^ b ^ b = a ^ 0 = a
    printf("交换后 a = %i,b = %i\n",a,b);
    
#pragma 开发简单加密
    // 用户密码, 纯数字
    int pwd = 123;
    // 对用户密码 进行简单加密
    int result = pwd ^ 456;
    printf("加密后 = %i\n",result);

    // 对用户密码进行解密
    result = result ^ 456;
    printf("解密后 = %i\n",result);

    
    
    
    return 0;
}

推荐阅读更多精彩内容