pragma mark 位運算符練習(xí)3
pragma mark 概念
pragma mark 代碼
#include <stdio.h>
int main()
{
#pragma mark 要求交換兩個變量的值
int a = 10;
int b = 5;
printf("交換前:a = %i,b = %i \n",a,b);
// 第一種方式
#pragma mark 第1種方式 利用第三方變量
/*
int temp = a;
a = b;
b = temp;
printf("交換后:a = %i,b = %i \n",a,b);
*/
#pragma mark 第2種方式 利用算術(shù)運算
// 第二種方式
/*
a = a + b; // a == 15
b = a - b; // b == 10
a = a - b; // a == 5
printf("交換后:a = %i,b = %i \n",a,b);
*/
#pragma mark 第3種方式 利用異或
a = a ^ b;
/*
0000 0000 0000 0000 0000 0000 0000 1010
^0000 0000 0000 0000 0000 0000 0000 0101
----------------------------------------
0000 0000 0000 0000 0000 0000 0000 1111
*/
b = a ^ b; // b = a ^ b ^ b = a;
/*
0000 0000 0000 0000 0000 0000 0000 1111
^0000 0000 0000 0000 0000 0000 0000 0101
----------------------------------------
0000 0000 0000 0000 0000 0000 0000 1010 = 10;
*/
a = a ^ b; // a = a ^ a ^ b = b;
/*
0000 0000 0000 0000 0000 0000 0000 1111
^0000 0000 0000 0000 0000 0000 0000 1010
----------------------------------------
^0000 0000 0000 0000 0000 0000 0000 0101 == 5;
*/
printf("交換后:a = %i,b = %i \n",a,b);
b = a ^ b;
a = a ^ b; // a == a ^ a ^ b == b
b = a ^ b; // b == a ^ b ^ b == a
printf("交換后:a = %i,b = %i \n",a,b);
#pragma mark 做一個簡單的加密(之后用的可能是:dsc,md5,xe);
// 用戶密碼,純數(shù)組
int pwd = 123456789;
// 對用戶密碼進行簡單加密
int result = pwd ^ 998;
printf("加密后:%d\n",result);
// 對用戶密碼進行解密
result = result ^ 998;
printf("解密后:%d\n",result);
return 0;
}
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者