Перевод int в byte?

105
14 декабря 2019, 18:00

Как переводится (обрезается) int до размера byte? Где-то вычитал, что от int отнимается 128 пока число не войдет в диапазон -128...127 и потом отнимается еще раз. То есть во втором примере мы зашли в диапазон (104) и отняли 128 еще раз, до значения -24; а в первом примере мы зашли в диапазон (1) и остановились. Почему так?

int a = (byte)257;

Вывод: a = 1;

int b = (byte)1000;

Вывод: b = -24;

Answer 1

Тип byte, как и любой другой тип, "проходит" по кругу. Пример:

int a = (byte) 127;

127

int a = (byte) 128;

-128

int a = (byte) 129;

-127

...

int a = (byte) 257;

1

Таким образом, когда бы дойдете до 1000, что после N кругов в результат вернут -24.

READ ALSO
как перемещать спрайт и рисовать его через интервал времени в libGdx?

как перемещать спрайт и рисовать его через интервал времени в libGdx?

У меня есть поле из клеток, есть игрок - спрайт, есть массив точек(путь для игрока в определенную точку)У класса Field, содержащего информацию...

130
Почему блок не рендерится по всему своему размеру (Chrome)?

Почему блок не рендерится по всему своему размеру (Chrome)?

Накидал структуру и основные стили: https://fiddlejshell

112
Рандомное изменение стейта

Рандомное изменение стейта

Не получается выбрать рандомный элемент в thisstate

134
Слайдер, галерея на сайт с навигацией элементы состоят из текста и изображения

Слайдер, галерея на сайт с навигацией элементы состоят из текста и изображения

Всем привет, ищу готовое (или почти готовое) решение для слайдера-галереиОсобенность в том, что бы можно было управлять слайдами как при клике...

116