質問するログイン新規登録

回答編集履歴

2

ソース追記

2018/12/21 05:57

投稿

cateye
cateye

スコア6851

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

追記

2018/12/21 05:57

投稿

cateye
cateye

スコア6851

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