diff options
author | Adam Carpenter <gitlab@53hor.net> | 2019-07-23 12:09:24 -0400 |
---|---|---|
committer | Adam Carpenter <gitlab@53hor.net> | 2019-07-23 12:09:24 -0400 |
commit | 552bc70b77d4fca54929b46190128721b93d887c (patch) | |
tree | 2793d5aff4fce6b27e1056f89b09b52d41134a4b /ch2/2-6.c | |
parent | e41bafc5885aac630b6d19893e9c80cc334497c2 (diff) | |
download | learning-c-552bc70b77d4fca54929b46190128721b93d887c.tar.xz learning-c-552bc70b77d4fca54929b46190128721b93d887c.zip |
Cleaned up directory.
Diffstat (limited to 'ch2/2-6.c')
-rw-r--r-- | ch2/2-6.c | 22 |
1 files changed, 0 insertions, 22 deletions
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<stdio.h> - -/* - * 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; -} |