Open In App

C | Data Types | Question 7

Assume that the size of char is 1 byte and negatives are stored in 2’s complement form




#include<stdio.h>
int main()
{
    char c = 125;
    c = c+10;
    printf("%d", c);
    return 0;
}

(A) 135
(B) +INF
(C) -121
(D) -8

Answer: (C)
Explanation: 125 is represented as 01111101 in binary and when we add 10 i.e 1010 in binary it becomes : 10000111. Now what does this number represent?
Firstly, you should know that char can store numbers only -128 to 127 since the most significant bit is kept for sign bit. Therefore 10000111 represents a negative number. To check which number it represents we find the 2’s complement of it and get 01111001 which is = 121 in decimal system. Hence, the number 10000111 represents -121.
Quiz of this Question

Article Tags :