本文目錄一覽:
如何用C語言實現兩個16進位數的異或
C語言中,異或運算符是^。
不管運算對象是10進位的數還是16進位的數(或其他進位的數),進行^運算時,都是將運算對象轉換為二進位,按位進行異或運算。
舉例說明如下:
int a=0x9a, b=0x56;
int c = a^b; // 將a和b進行異或運算
運算過程是
a = 1001 1010 // 0x9a
b = 0101 0110 // 0x56
c = 1100 1100 // 0xcc (對應的二進位位進行異或運算)
輸出的時候可以按16進位輸出,如:
printf(“%x”, c);
c語言異或操作
C語言的異或操作是位操作的一種,其運算符號為^。
要打出這個符號,需要在英文輸入法下,輸入shift + 6
即
1 按下shift, 左右均可;
2 按6, 即按下,抬起;
3 抬起shift。
異或操作是按位操作,當兩個操作數同一位上值相同時(同為1或同為0),結果對應位上的值為0;否則值為1。
C語言 異或運算
#include stdio.h
#include stdlib.h
#include conio.h
int main()
{
FILE *p1,*p2;
char ch,n;
p1=fopen(“D:\\源文件.txt”,”r”);
p2=fopen(“D:\\目標文件.txt”,”w”);
if(p1==NULL||p2==NULL)
{
printf(“文件打開失敗\n”);
exit(0);
}
printf(“請輸入密鑰,並牢記,解密時要再次輸入:”);//只要再對加密的文件再進行一次異或運算就得到源文件
n=getch();
printf(“*\n”);
while(1)
{
ch=fgetc(p1);
if(ch==EOF)
break;
ch=ch^n;
fputc(ch,p2);
fflush(p2);
}
fclose(p1);
fclose(p2);
return 0;
}
原創文章,作者:TTIBT,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/325437.html