Solution for Exercise 17-5
ex1705
#include <stdio.h> char *binbin(unsigned char n); int main() { const int set = 223; unsigned int bor,result; printf("Type a value from 0 to 255: "); scanf("%u",&bor); result = bor & set; printf("\t%s\t%d\n", binbin((unsigned char)bor),bor); printf("&\t%s\t%d\n", binbin((unsigned char)set),set); printf("=\t%s\t%d\n", binbin((unsigned char)result),result); return(0); } char *binbin(unsigned char n) { static char bin[9]; int x; for(x=0;x<8;x++) { bin[x] = n & 0x80 ? '1' : '0'; n <<= 1; } bin[x] = '\0'; return(bin); }
Output
Type a value from 0 to 255: 170
10101010 170
& 11011111 223
= 10001010 138
Copyright © 1997-2024 by QPBC.
All rights reserved