반응형
^ 연산을 이용한 암호화 및 복호화
#include <stdio.h>
int main()
{
int pd = 0x12345678;
int key = 0x2345873a;
int sec = pd ^ key;
int data = sec ^ key;
printf("평문:%#X\n", pd);
printf("키:%#X\n", key);
printf("암호문:%#X\n", sec);
printf("복호문:%#X\n", data);
return 0;
}
실행 결과
평문:0x12345678
키:0x2345873A
암호문:0x3171D142
복호문:0x12345678
& mask를 이용한 이진수 출력
#include <stdio.h>
int main()
{
int num;
printf("정수:");
scanf_s("%d", &num);
printf("%#X\n", num);
unsigned int cnum = 0x80000000;//1000 0000 0000 0000 0000 0000 0000 0000
int check = 0;
int cnt = 0;
while (cnum)
{
if (cnum & num)
{
printf("1");
check = 1;
}
else
{
if (check == 1)
{
printf("0");
}
}
cnt++;
cnum = cnum / 2;
if ((cnt % 4 == 0) && (check == 1))
{
printf(" ");
}
}
return 0;
}
실행 결과
정수:349
0x15D
1 0101 1101
반응형
'C언어 > 언제나 C언어' 카테고리의 다른 글
비트 자리 이동 연산, 쉬프트 연산[언제나 C언어] (0) | 2022.06.10 |
---|---|
비트 연산 & | ^ ~ [언제나 C언어] (0) | 2020.06.22 |
비교 연산, 논리 연산의 도움을 받으세요. [언제나 C언어] (0) | 2020.06.18 |
논리 형식과 논리 연산 [언제나 C언어] (0) | 2020.06.11 |
이럴 때 나머지 연산을 사용하자. 0123401234012… [언제나 C언어] (0) | 2020.06.10 |