1. 

Assunming, integer is 2 byte, What will be the output of the program?

#include<stdio.h>

int main()
{
    printf("%x\n", -1>>1);
    return 0;
}

A. ffff
B. 0fff
C. 0000
D. fff0

2. 

If an unsigned int is 2 bytes wide then, What will be the output of the program ?

#include<stdio.h>

int main()
{
    unsigned int m = 32;
    printf("%x\n", ~m);
    return 0;
}

A. ffff
B. 0000
C. ffdf
D. ddfd

3. 

Assuming a integer 2-bytes, What will be the output of the program?

#include<stdio.h>

int main()
{
    printf("%x\n", -1<<3);
    return 0;
}

A. ffff
B. fff8
C.
D. -1

4. 

If an unsigned int is 2 bytes wide then, What will be the output of the program ?

#include<stdio.h>

int main()
{
    unsigned int a=0xffff;
    ~a;
    printf("%x\n", a);
    return 0;
}

A. ffff
B. 0000
C. 00ff
D. ddfd

5. 

What will be the output of the program?

#include<stdio.h>

int main()
{
    unsigned char i = 0x80;
    printf("%d\n", i<<1);
    return 0;
}

A. 0
B. 256
C. 100
D. 80