直接除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 人评分
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:1550 |
不容易系列 (C语言代码)浏览:702 |
小明A+B (C语言代码)浏览:1316 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:805 |
C语言训练-大、小写问题 (C语言代码)浏览:649 |
C语言训练-数字母 (C语言代码)浏览:670 |
C语言程序设计教程(第三版)课后习题6.11 (C语言代码)浏览:565 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:727 |
文科生的悲哀 (C语言代码)浏览:1538 |
sizeof的大作用 (C语言代码)浏览:1138 |