直接除2取余就好了
#include <stdio.h> #include <stdlib.h> int main(void) { int a; scanf("%d", &a); int b[16] = { 0 }; int bindex = 0; int rest; while (a / 2 != 0) { rest = a % 2; b[bindex++] = rest; a = a / 2; } b[bindex] = a % 2; /* int i; for (i = 15; i >= 0; i--) { printf("%d", b[i]); } printf("\n"); */ int tmp1 = b[7]; int tmp2 = b[6]; int tmp3 = b[5]; int tmp4 = b[4]; //printf("%d %d %d %d\n", tmp1, tmp2, tmp3, tmp4); int res = tmp1 * 2*2*2 + tmp2 * 2*2 + tmp3 * 2 + tmp4 * 1; printf("%d\n", res); return 0; }
0.0分
2 人评分