青の部隊 505小隊 ULZ

二進で表示 - ビットマスク

最終更新:

匿名ユーザー

- view
だれでも歓迎! 編集
シフト演算を使う場合 その1。頭に0がたくさんつくのは手抜き。

#include <stdio.h>

void dec2bin(unsigned int val, char *str)
{
        const unsigned int mask = 0x80000000;
        int i;

        for( i = 0; i < 32; i++)
                str[i] = val & (mask >> i)?'1':'0';
        str[32] = '\0';
}

int main(int argc, char** argv)
{
        int val;
        char str[33];

        printf("Please input integer>");
        scanf("%d", &val);
        dec2bin( (unsigned int)val, str);
        printf("%s\n", str);
}

タグ:

+ タグ編集
  • タグ:
ウィキ募集バナー