質問編集履歴

1

自分のソースを載せました

2016/03/04 07:02

投稿

main
main

スコア10

test CHANGED
File without changes
test CHANGED
@@ -21,3 +21,45 @@
21
21
 
22
22
 
23
23
  このように作りたいです。誰か教えてください
24
+
25
+
26
+
27
+ 失礼しました補足です。私の考えでは
28
+
29
+ const int bin[] = {
30
+
31
+ 0, 1, 10, 11,
32
+
33
+ 100, 101, 110, 111,
34
+
35
+ 1000, 1001, 1010, 1011,
36
+
37
+ 1100, 1101, 1110, 1111,
38
+
39
+ };
40
+
41
+ int n = data01;
42
+
43
+ int a = data01;
44
+
45
+ printf("data= %d\n", a);
46
+
47
+ printf("16進数表記=%4x[h]\n2進数表記=%04d %04d %04d %04d[b]\n", n,
48
+
49
+ bin[n >> 12 & 0xf], bin[n >> 8 & 0xf], bin[n >> 4 & 0xf], bin[n & 0xf]);
50
+
51
+ printf("\n");
52
+
53
+ int count;
54
+
55
+ count=6;
56
+
57
+ printf("1ビットの合計は%d個です\n", count);
58
+
59
+
60
+
61
+ のようになりましたが、カウントがデータが入っていないため、違うデータをカウントするときに数が変わりません。合計6のところは
62
+
63
+ 0011 0000 0011 1001
64
+
65
+ 2進数の1の数を数えたのがそうらしいです。どうすれば、カウントできるようになるか教えてくれませんか