回答編集履歴

2

ソース追記

2018/12/21 05:57

投稿

cateye
cateye

スコア6851

test CHANGED
@@ -105,3 +105,53 @@
105
105
  10進数:17
106
106
 
107
107
  2進数:00010001
108
+
109
+ 「ソース」・・・上記結果のソースです。参考までに・・・
110
+
111
+ ```c
112
+
113
+ #include <stdio.h>
114
+
115
+ //
116
+
117
+ int main(void)
118
+
119
+ {
120
+
121
+ int j = 17;
122
+
123
+ int ans = 0;
124
+
125
+ //
126
+
127
+ for (int i = 7; i >= 0; --i) {
128
+
129
+ ans = ans * 10;
130
+
131
+ if (j & (1 << i)) {
132
+
133
+ ans |= 1;
134
+
135
+ } else {
136
+
137
+ ans |= 0;
138
+
139
+ }
140
+
141
+ printf("ans:%d\n", ans);
142
+
143
+ }
144
+
145
+ //
146
+
147
+ printf("10進数:%d\n", j);
148
+
149
+ printf("2進数:%08d\n", ans);
150
+
151
+ //
152
+
153
+ return 0;
154
+
155
+ }
156
+
157
+ ```

1

追記

2018/12/21 05:57

投稿

cateye
cateye

スコア6851

test CHANGED
@@ -67,3 +67,41 @@
67
67
  ```
68
68
 
69
69
  問題は見つかりましたか?
70
+
71
+ ・・・「追記」
72
+
73
+ 最初に結果をクリア
74
+
75
+ ここからループ
76
+
77
+   結果を10倍する
78
+
79
+   ビット数が分かっているなら上位ビットから比較しましょう。
80
+
81
+   0だったら0を、1だったら1をセット・・・
82
+
83
+ ループ終端
84
+
85
+ 結果を表示
86
+
87
+ ・・こうなります
88
+
89
+ s:0
90
+
91
+ s:0
92
+
93
+ s:0
94
+
95
+ s:1
96
+
97
+ s:10
98
+
99
+ s:100
100
+
101
+ s:1000
102
+
103
+ s:10001
104
+
105
+ 10進数:17
106
+
107
+ 2進数:00010001