質問編集履歴
1
コードの修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -7,25 +7,27 @@
|
|
7
7
|
|
8
8
|
int main(void) {
|
9
9
|
|
10
|
-
unsigned int n, a, n2[MAX_BIT];
|
10
|
+
unsigned int n=5, a, n2[MAX_BIT];
|
11
|
-
int n10=0;
|
11
|
+
int n10 = 0;
|
12
12
|
double x;
|
13
13
|
|
14
|
-
|
14
|
+
|
15
|
-
|
15
|
+
for (int i = 0; i < MAX_BIT; i++) { // 入力したnを2進数に変換
|
16
|
-
|
16
|
+
a = (unsigned int)1 << i;
|
17
|
-
|
17
|
+
if ((a & n) == 0) {
|
18
|
-
|
18
|
+
n2[i] = 0;
|
19
|
-
}
|
20
|
-
else {
|
21
|
-
n2[i] = 1;
|
22
|
-
}
|
23
19
|
}
|
20
|
+
else {
|
21
|
+
n2[i] = 1;
|
22
|
+
}
|
23
|
+
}
|
24
|
+
for (int i = 0; i < MAX_BIT; i++) printf("%d", n2[i]); //2進数表示
|
24
25
|
|
25
26
|
for (int i = 0; i < MAX_BIT; i++) { // nを10進数に戻す
|
26
|
-
x = 0;
|
27
|
-
x= pow(2, i);
|
27
|
+
x = pow(2, i);
|
28
|
+
if (n2[i] == 1) {
|
28
|
-
n10 +=
|
29
|
+
n10 += (int)x;
|
30
|
+
}
|
29
31
|
}
|
30
32
|
printf("%d", n10);
|
31
33
|
return 0;
|