#include void main () { int input, ans, i, flag; flag = 1; ans = 0; /* for (input = ' '; input <= '~'; input++) { if ((input >= '0' && input <= '9') || (input >= 'A' && input <= 'F') || (input >= 'a' && input <= 'f')) { printf("[%c] %d\n", input, input); } } exit(); */ printf("2 進数を表す文字列を最大 8 桁で入力:"); for (i = 0; i < 8; i++) { input = getchar(); if (flag == 0) { if (input == '\n') { break; } } flag = 0; while (input != '0' && input != '1') { if (input == '\n') { printf("2 進数を表す文字列を入力する必要があります:"); ans = 0; i = 0; /* flag = 1; */ } input = getchar(); } input -= 48; /* 文字を数値に変換 */ ans = ans * 2 + input; } printf("10 進数に変換:%d\n", ans); }