#include <cstdio>
#include <algorithm>
using namespace std;
int main(int argc, char **argv)
{
// freopen("output.txt", "w", stdout);
char S[50];
unsigned long a = 0;
unsigned long *b;
b = &a;
a = \'C\';
a = a | (\'B\' << 8);
a = a | (\'A\' << 16);
a = a | (\'\\0\' << 24);
itoa(a, S, 2);
printf("RESULT : %s\\n", (char*)b);
printf("------ : %s\\n", S);
//------------------------------
int c = 0;
int *d;
d = &c;
c = \'D\';
c = c | (\'C\' << 8);
c = c | (\'B\' << 16);
c = c | (\'A\' << 24);
c = c | (\'\\0\' << 32);
itoa(c, S, 2);
printf("RESULT : %s\\n", (char*)d);
printf("------ : %s\\n", S);
//------------------------------
printf("\\n");
char S2[] = "ABCD";
printf("RESULT : %s\\n", S2);
for(int i=0;i<5;i++)
printf("S2[%d] : %x : %c\\n", i, &S2[i], S2[i]);
//------------------------------
printf("\\n문자열로 바꿈\\n");
char S3[10];
memcpy(S3, b, 4);
printf("b : CBA : %s\\n", S3);
memcpy(S3, d, 4);
printf("d : DCBA : %s\\n", S3);
return 0;
}
-------------------------------------------------
RESULT : CBA
------ : 10000010100001001000011
RESULT : DCBAH
------ : 1000001010000100100001101000100
RESULT : ABCD
S2[0] : 12ff34 : A
S2[1] : 12ff35 : B
S2[2] : 12ff36 : C
S2[3] : 12ff37 : D
S2[4] : 12ff38 :
문자열로 바꿈
b : CBA : CBA
d : DCBA : DCBA儆儆儆儆
Press any key to gozarany
-----------------------------------------------------
중요한 부분은 여기<-
char S[50];
unsigned long a = 0;
unsigned long *b;
b = &a;
a = \'C\';
a = a | (\'B\' << 8);
a = a | (\'A\' << 16);
a = a | (\'\\0\' << 24);
itoa(a, S, 2);
printf("RESULT : %s\\n", (char*)b);
printf("------ : %s\\n", S);
<---
질문 1:
char로 배열잡아서 하면 정방향으로 주소가 저장되는데
왜 int에다가 비트연산으로 때려박고 출력하면 역방향으로 달려가는 걸까?
용자모집
댓글 영역
획득법
① NFT 발행
작성한 게시물을 NFT로 발행하면 일주일 동안 사용할 수 있습니다. (최초 1회)
② NFT 구매
다른 이용자의 NFT를 구매하면 한 달 동안 사용할 수 있습니다. (구매 시마다 갱신)
사용법
디시콘에서지갑연결시 바로 사용 가능합니다.