4. [10 marksLet us consider a system where every integer is unsigned and uses 11 bits....
4. [10 marksLet us consider a system where every integer is unsigned and uses 11 bits. Most programming languages provide ways to manipulate the bits of integers (signed or unsigned). For instance, if r and y are two such integers, then • & is the bitwise AND operator. r&y denotes the integer whose ith bit is the ith bit of and the ith bit of y. For instance, assuming that we have unsigned integers 145310 101101011012 and 78810 = 011000101002, then 1453 & 788 = 00100000100, 26010- . is the bitwise OR operator. y denotes the integer whose the bit is the ith bit of or the ih bit of y. For instance, 1453788 = 111101111012 = 198110- • is the bitwise XOR operator. y denotes the integer whose ith bit is the ith bit of xor the ith bit of y. For instance, 1453 e 788 - 110101110012 = 172110 •>> is the bitwise right shift operator. >> i denotes the integer obtained by "deleting" the rightmost i bits of I, and adding i 0 bits to the left of the remaining bits. For instance, 1453 >> 5 - 00000101101 (the bits 01101 were removed). We can perform several operations simply by manipulating the sequence of bits that represents an integer using these operators. In this problem, we look at some of them. a. [2 marksThere are several situations where we would like to only retain some of the bits of an integer . For instance, the last 5 bits of 1453 equal 011012-1310. Given , what expression would give you an integer that corresponds to the last 5 bits of x? b. [2 marks] Continuing from the previous question, what expression would give an integer that corresponds to the next 4 bits of those corresponding to the positions 28, 27, 26 and 25)? For instance, for 1453, this would be 1101, = 1310