Deitel & Deitel, C How to Program 6th Edition, Exercise 10.17 (Reversing the Order of an Integer’s Bits)
// 10.17 (Reversing the Order of an Integer’s Bits)
#include <stdio.h>
void reverseBits(int);
void displayBits(int);
int main() {
int num;
printf("Enter a number to reverse its bits: ");
scanf("%d", &num);
displayBits(num);
reverseBits(num);
printf("\n\n\n");
return 0;
}
void reverseBits(int num) {
int i;
for (i = 1; i <= 32; i++) {
printf("%d", 1 & num ? 1 : 0);
i % 8 ? 0 : printf(" ");
num >>= 1;
}
}
void displayBits(int num) {
int i, mask = 1;
mask <<= 31;
for (i = 1; i <= 32; i++) {
printf("%d", mask & num ? 1 : 0);
i % 8 ? 0 : printf(" ");
num <<= 1;
}
printf("\n");
}
#include <stdio.h>
void reverseBits(int);
void displayBits(int);
int main() {
int num;
printf("Enter a number to reverse its bits: ");
scanf("%d", &num);
displayBits(num);
reverseBits(num);
printf("\n\n\n");
return 0;
}
void reverseBits(int num) {
int i;
for (i = 1; i <= 32; i++) {
printf("%d", 1 & num ? 1 : 0);
i % 8 ? 0 : printf(" ");
num >>= 1;
}
}
void displayBits(int num) {
int i, mask = 1;
mask <<= 31;
for (i = 1; i <= 32; i++) {
printf("%d", mask & num ? 1 : 0);
i % 8 ? 0 : printf(" ");
num <<= 1;
}
printf("\n");
}
OUTPUT
Enter a number to reverse its bits: 12
00000000 00000000 00000000 00001100
00110000 00000000 00000000 00000000
Press any key to continue . . .
Let me know in the comments if this page helped you somehow.
It is nice to know if my work helped someone, thanks :)
Comments
Post a Comment