Write code for a function with the following prototype:
/* * Do rotating left shift. Assume 0 <= n < w * Examples when x = 0x12345678 and w = 32: * n=4 -> 0x23456781, n=20 -> 0x67812345 */unsignedrotate_left(unsigned x,int n);
Be careful of the case n=0.
Code:
#include<stdio.h>#include<assert.h>unsignedrotate_left(unsigned x,int n) {int w =sizeof(int) <<3;return (x << n) | (x >> (w - n -1) >>1);}intmain() {assert(rotate_left(0x12345678,4)==0x23456781);assert(rotate_left(0x12345678,20)==0x67812345);assert(rotate_left(0x12345678,0)==0x12345678);return0;}