pragma mark 位運(yùn)算符練習(xí)3
pragma mark 概念
pragma mark 代碼
#include <stdio.h>
int main()
{
#pragma mark 要求交換兩個(gè)變量的值
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ù)運(yùn)算
// 第二種方式
/*
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 做一個(gè)簡(jiǎn)單的加密(之后用的可能是:dsc,md5,xe);
// 用戶密碼,純數(shù)組
int pwd = 123456789;
// 對(duì)用戶密碼進(jìn)行簡(jiǎn)單加密
int result = pwd ^ 998;
printf("加密后:%d\n",result);
// 對(duì)用戶密碼進(jìn)行解密
result = result ^ 998;
printf("解密后:%d\n",result);
return 0;
}
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。