Это немного хак, но вы можете использовать
if(x >> -1 != 0) // top bit set.
Это работает для byte
, short
, int
, long
типов данных.
Однакодля большинства типов самый простой подход - сравнить с 0
if (x < 0) // top bit set.
. Это работает для byte
, short
, int
, long
, float
или double
(игнорируя отрицательный ноль и отрицательный NaN, большинство людей делают;)
Для char
типа вам нужно знать количество бит.;)
if (ch >>> 15 != 0) // top bit set.