1/** 2 * 3 * Exercise 2.7 4 * 5 * Write a function invert(x,p,n) that returns x with n bit starting at p 6 * inverted . 7 * 8 **/ 9 10#include<stdio.h> 11 12unsigned invert(unsigned x,int p,int n); 13 14int main(void) 15{ 16 printf("%u", (unsigned) invert((unsigned) 8, (int) 3, (int) 3)); 17} 18 19unsigned invert(unsigned x, int p, int n) 20{ 21 return x ^ (~(~0 << n) << (p + 1 - n)); 22} 23 24 25