#include //万能头文件 using namespace std; const int N = 15; void code(int x) { int std[N], flag = 0; if (x < 0) flag = 1, x = -x; //小于0求其绝对值 for (int i = 0; i < 8; ++i) { //转换2进制 std[i] = x % 2; x /= 2; } if (flag) // 如果是负数要求补码 for (int i = 0; i < 8; ++i) //对8位二进制遍历 if (std[i] == 1 && i < 7) { //找到不为0的第一位 for (int j = i + 1; j < 8; ++j) std[j] = 1 - std[j]; //从第不为零的一位开始取反 break; //跳出第一重for循环 } for (int i = 7; i >= 0; --i) { //逆序输出 if (std[i] == 0) printf(" "); //0输出空格 else printf("*"); //1输出* } } int main() { int i = 10; while (i--) { //对10行数码遍历 for (int j = 1; j < 17; ++j) { //一行32个数,每次读取两个,所以循环16次 int p; scanf("%d", &p); code(p); scanf("%d", &p); code(p); printf("\n"); } printf("\n\n\n"); //输出完成一个字后换行 } return 0; }