From 552bc70b77d4fca54929b46190128721b93d887c Mon Sep 17 00:00:00 2001 From: Adam Carpenter Date: Tue, 23 Jul 2019 12:09:24 -0400 Subject: Cleaned up directory. --- ch2/2-6.c | 22 ---------------------- 1 file changed, 22 deletions(-) delete mode 100644 ch2/2-6.c (limited to 'ch2/2-6.c') diff --git a/ch2/2-6.c b/ch2/2-6.c deleted file mode 100644 index 918f583..0000000 --- a/ch2/2-6.c +++ /dev/null @@ -1,22 +0,0 @@ -#include - -/* - * Set n bits in x starting at position p to rightmost n bits of y. - */ - -unsigned setbits(unsigned x, unsigned p, unsigned n, unsigned y) { - // Create a basa from x that zeroes out all of the bits to be set. - unsigned a = x & ~(~(~0 << n) << (p + 1 - n)); - - // Create a mask from y that zeroes out all of the bits except those to set. - unsigned b = (y & ~(~0 << n)) << (p + 1 - n); - - // Apply the mask to the base. - return a | b; -} - -int main() { - printf("%x\n", setbits(0xaa, 3, 3, 0x33)); - printf("%x\n", setbits(0x00, 3, 3, 0xff)); - return 0; -} -- cgit v1.2.3