C, C++/C
[C언어] 10, 8, 16, 2진수로 0~255값 출력하기
SeongJo
2020. 12. 11. 13:02
반응형
안녕하세요 오늘 포스팅부터는 성조라는 이름으로 포스팅할 예정입니다.
C코드 중에 예전에 0~255까지 10, 8, 16, 2 각각의 진수에 맞춰서 출력하는 프로그램 코드를 짰는데 한참 초창기에 C언어 코드를 작성하면서 정렬에 대해서 친구에게 피드백 받고 수정하고 수정해서 짰던 기억이 나서 갖고 왔습니다 ㅠ
코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
#include <stdio.h>
void binary(short n);
short main()
{
short line = 0;
printf(" DEC, OCT, HEX, BIN");
printf("\n");
for (short i = 0; i <= 255; i++)
{
printf(" %03d", i);
printf(" %03o", i);
printf(" %03x ", i);
printf("\t");
binary(i);
if (i % 5 == 0) {
printf("\n");
}
else if (line == 0)
{
printf("\n");
}
}
}
void binary(short n)
{
short i[8] = { 0 };
short j = 7;
while (1) {
if (n < 2)
{
i[j] = n % 2;
break;
}
else
{
i[j] = n % 2;
n = n / 2;
j--;
}
}
for (short k = 0; k < 8; k++) {
printf("%d", i[k]);
}
}
|
[풀이]
배열 공간을 이용한 함수로 작성해서 갖고 오는 것인데 저는 처음에 재귀함수로 작성했는데 00000000 -> 10000000 -> 01000000 순서로 앞에서부터 값이 차오르는 문제가 있었는데 위 함수처럼 뒷 번호부터 원소 값을 넣어주면 00000000 -> 00000001 -> 00000010 ...으로 진행되는 것을 알 수 있었습니다
코드를 따라서 작성하고 실행해본 후 이해해 보세요ㅎㅎ
다음 포스팅 때 뵙겠습니다!
반응형