[C言語]2進数変換

– 整数iを2で割った値を配列に入れていく

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
 
int main(void){
    int n, i, a[32];
 
    printf("数を入力してください->");
    scanf("%d", &n);
    for(i=0; n>0; i++){
        a[i] = n % 2;
        n = n / 2;
    }
    while(i > 0) printf("%1d",a[--i]);
    printf("\n");
 
    return 0;
}

$ ./main
数を入力してください->15
1111

$ ./main
数を入力してください->6
110

変数の先頭に–演算子を書くのを前置形式という
前に置く場合は、まずiの値を減らしてから表示する

あれ、何でこれで上手く表示できるんだ??