1. What is the value of the following expressions: -3 && 10 -3 & 10 !3 || 10 ~3 | 10 2. Write a C expression that is true if and only if bit 3 of x is 0 3. Write C code that will flip bit 3 of y if (and only if) bit 1 of x is 0. 4. What will X contain after these two statements? unsigned char X = -5; X ^= (X>>4); 5. Fix the following macro definition: #define SUM(x,y) x+y 6. Define a macro HI4(x) which gives the highest nibble (4 bits) of a byte. For example HI4(0x86) should be 0x8. 7. Make a bitfield representation of the following: JJJJJJJJJYYYYYYYYYYYYYYMMMMDDDDD <- 14 bits -> J=Junk Y=Year bits M=Month bits D=Day bits 8. What is the value of x? short x=-3; ((char*)&x)[1]=0; a. On intel b. On power pc 9. Get the exponent part of a float (bits 23-30) using: a. AND OR and/or shifts b. casts and subscripting c. a union 10. Write a C function, int GetBit(BYTE8 bits[], int index) which returns 0 or 1 depending on the value of the given bit.