Флейм
GameDev.ru / Флейм / Форум / Жабаразмышления

Жабаразмышления

Страницы: 1 2 3 4 5 Следующая »
nesПостоялецwww13 мар. 201819:53#0
Чисто гипотетически, как можно было бы красиво разрулить ситуацию с отсутствием беззнаковых типов данных в жабе?
С одной стороны меньшее количество типов радует, да и знаковые типы являются более универсальными, по сравнению со своими беззнаковыми собратьями,
с другой стороны при работе с каким-нибудь пртоколом появляется масса попаболи и лишней писанины.
Вот тут надумалось что-то такое (псевдокод и не жаба):
// Создали переменную типа байт, со значением 100
int8 a = 100;

// Ошибка! a.u - беззнаковое представление переменной a,
// для успешного выполнения операции требуется тип большей размерности.
int8 b = a.u;

// Все ок, в переменную b скопировано значение переменной a.
int8 b = (int8)a.u;

// Побитовый сдвиг вправо значения переменной a, в беззнаковой интерпретации.
int8 b = (int8)(a.u >> 1);

Чо думаете?

lookidПостоялецwww13 мар. 201820:05#1
класс не проще создать специальный? В Джаве вроде даже оператор оверлоадинга нету.
nesПостоялецwww13 мар. 201820:10#2
lookid
Какой класс?
Я тут думаю как бы можно было локаничнее показать в коде, что работаем с беззнаковыми представлениями.
beejahПостоялецwww13 мар. 201820:12#3
nes
> Я тут думаю как бы можно было локаничнее показать в коде, что работаем с
> беззнаковыми представлениями.
Не работать с беззнаковыми представлениями.
nesПостоялецwww13 мар. 201820:13#4
beejah
А если горит?
KartonagnickЗабаненwww13 мар. 201820:32#5
nes
> А если горит?
+ Показать
beejahПостоялецwww13 мар. 201821:42#6
nes
> А если горит?
Особенно если горит.
9К720Участникwww13 мар. 201822:21#7
nes
Каким протоколом? Например?
dxgamesПостоялецwww13 мар. 201823:17#8
nes
Извини, но ты плохо учил Java. Да, там беззнаковых типов нет, но в классах java.lang.Integer, java.lang.Long есть специальные методы, начинающиеся с unsigned, благодаря которым можно работать с обычными int и long  как с беззнаковыми. Примеры методов для Long:
static int  compareUnsigned(long x, long y)
static long  divideUnsigned(long dividend, long divisor)
static long  parseUnsignedLong(String s)
Можно использовать их.

Начиная с Java 8 эти методы точно есть.

dxgamesПостоялецwww13 мар. 201823:19#9
На самом деле есть ещё char, вот он беззнаковый изначально.
FlyOfFlyПостоялецwww13 мар. 201823:31#10
Уходи с Java, по моему скромному мнению, на ней можно сидеть только ради LibGDX и Kotlin'a(сидеть на яп ради другого яп....)
dxgamesПостоялецwww13 мар. 201823:57#11
FlyOfFly
> Уходи с Java, по моему скромному мнению, на ней можно сидеть только ради LibGDX
> и Kotlin'a(сидеть на яп ради другого яп....)
Да на Java, по-моему, вообще только ради энтерпрайза имеет смысл сидеть.
gamedevforПостоялецwww14 мар. 20183:13#12
бросай эту дохлую лошадку и переходи на модерновый С++
t800Забаненwww14 мар. 20187:51#13
Можно я скажу? По поводу боли от писанины.

Писанина бывает разная, вообще как я думаю лучший код это такой код в котором легко разберется даже второклассник, то есть ИМХО всегда лучше написать строк больше, но понятный, чем короче но непонятный, а то ведь потом через год в собственном коде разобраться не сможете - мол чего это я тут такого понаписал :-O ... И комментариев никаких нет... И спросить не у кого ... И гуглить бессмысленно... Потому что сам же написал ... А чего и зачем написал уже не помню :'-(

PS Поэтому ИМХО лучше код  писать как Все -  ибо  чтобы  кто не говорил, но лучший код -  это Проверенная временем  и хорошо закоментированная Копипаста. Вот так вот.

Правка: 14 мар. 2018 8:09

nesПостоялецwww14 мар. 20188:33#14
FlyOfFly
>Уходи с Java, по моему скромному мнению, на ней можно сидеть только ради LibGDX и Kotlin'a(сидеть на яп ради другого яп....)
Я на жабе ничего еще не писал, не считая лабораторных в универе, в свое время.

gamedevfor
>бросай эту дохлую лошадку и переходи на модерновый С++
Чем дольше пишу на крестах, тем больше едит крыша.

t800
> лучший код это такой код в котором легко разберется даже второклассник
Полностью поддерживаю, поэтому чем проще ЯП, тем лучше.
Вот например сейчас на работе пишу скрипты на сквиреле, чудо а не язык,
если бы еще средства разработки для него нормальные, да рантайм по-лучше,
давно забил бы на кресты.

Страницы: 1 2 3 4 5 Следующая »

/ Форум / Флейм / Программирование

2001—2018 © GameDev.ru — Разработка игр