回答編集履歴
2
ソース追記
answer
CHANGED
|
@@ -51,4 +51,29 @@
|
|
|
51
51
|
s:1000
|
|
52
52
|
s:10001
|
|
53
53
|
10進数:17
|
|
54
|
-
2進数:00010001
|
|
54
|
+
2進数:00010001
|
|
55
|
+
「ソース」・・・上記結果のソースです。参考までに・・・
|
|
56
|
+
```c
|
|
57
|
+
#include <stdio.h>
|
|
58
|
+
//
|
|
59
|
+
int main(void)
|
|
60
|
+
{
|
|
61
|
+
int j = 17;
|
|
62
|
+
int ans = 0;
|
|
63
|
+
//
|
|
64
|
+
for (int i = 7; i >= 0; --i) {
|
|
65
|
+
ans = ans * 10;
|
|
66
|
+
if (j & (1 << i)) {
|
|
67
|
+
ans |= 1;
|
|
68
|
+
} else {
|
|
69
|
+
ans |= 0;
|
|
70
|
+
}
|
|
71
|
+
printf("ans:%d\n", ans);
|
|
72
|
+
}
|
|
73
|
+
//
|
|
74
|
+
printf("10進数:%d\n", j);
|
|
75
|
+
printf("2進数:%08d\n", ans);
|
|
76
|
+
//
|
|
77
|
+
return 0;
|
|
78
|
+
}
|
|
79
|
+
```
|
1
追記
answer
CHANGED
|
@@ -32,4 +32,23 @@
|
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
```
|
|
35
|
-
問題は見つかりましたか?
|
|
35
|
+
問題は見つかりましたか?
|
|
36
|
+
・・・「追記」
|
|
37
|
+
最初に結果をクリア
|
|
38
|
+
ここからループ
|
|
39
|
+
結果を10倍する
|
|
40
|
+
ビット数が分かっているなら上位ビットから比較しましょう。
|
|
41
|
+
0だったら0を、1だったら1をセット・・・
|
|
42
|
+
ループ終端
|
|
43
|
+
結果を表示
|
|
44
|
+
・・こうなります
|
|
45
|
+
s:0
|
|
46
|
+
s:0
|
|
47
|
+
s:0
|
|
48
|
+
s:1
|
|
49
|
+
s:10
|
|
50
|
+
s:100
|
|
51
|
+
s:1000
|
|
52
|
+
s:10001
|
|
53
|
+
10進数:17
|
|
54
|
+
2進数:00010001
|