Hi friend,

This blog will help to better understanding of typecasting of datatypes in Java.

PROGRAM:

public class TypeCasting {
public static void main(String[] args) {
int a = 140;
byte b =(byte) a;
System.out.println(b);
}
}

OUTPUT :
-116

EXPLANATION:
This type of type casting will have loss of data. Lets see how 140 changes into -116 by simple binary calculation.

140 decimal value convert into binary number of 16 bits

integer – 16 bits value of 140 is 0000000010001100
byte – 8 bits value of 140 is 10001100

[1] 000110 – first digit represent the sign of number

1 – negative value
0 – positive value

so as per above reference,we will get negative number.

make the binary the 2’s complement
111001
000001
—————
111010

————–

by adding 0 on the last digits – 1110100

convert 1000111 binary into decimal,

116

Now combine the sign and number will be result of -116