>>892 (6)
>>909 (6)
#include <stdio.h>
void binary(unsigned char n, char *s) { int i, d; for (i = 7; i > 0; i--) { d = n / (2 << (i - 1)); n -= (2 << (i - 1)) * d; *s++ = '0' + d; } *s++ = '0' + n; *s = '\0'; }
void print(unsigned char n) { char b[9]; binary(n, b); printf("%3d, %02x, %s\n", n, n, b); }
int atoi(char *s) { int n = 0; while (*s != '\0') { n = n * 10 + (*s - '0'); s++; } return n; }
void get_string(char *p_str, int size) { int c; while ((c = getchar()) != '\n') { if (size > 1) { *p_str++ = c; size--; } } *p_str = '\0'; }
void main() { char s[4]; unsigned char n[3]; get_string(s, sizeof(s)); n[0] = atoi(s); n[1] = n[0] << 1; n[2] = ~n[0]; print(n[0]); print(n[1]); print(n[2]); }