Вопрос приведение типов java почему при char a = 50000; short b = (short) a; b = -15536??

Регистрация
11 Ноя 2013
Сообщения
72
Репутация
0
Спасибо
0
Монет
0
приведение типов java почему при char a = 50000; short b = (short) a; b = -15536??
 
Потому что short включает в себя в том числе отрицательные значения, которые можно узнать по единичке в первом бите числа. А 50000 это C350, то есть начинается с 1. Следовательно 50000 уже уходит в область отрицательных чисел, так как максимальное это 32.767
 
Назад
Сверху