@OwDafuq

Отрицательный Byte?

Доброе утро!

Есть такой код на Java

public static boolean GMSetGameAttriByte(byte type, byte value) throws Exception {
        OctetsStream os = new OctetsStream();
        os.marshal(value);
        return DeliveryDB.GMSetGameAttri(-1, type, (Octets)os);
    }

    public static byte GMGetDoubleExp() throws Exception {
        return DeliveryDB.GMGetGameAttriByte(-52);
    }


Но как сделать отрицательный byte не могу понять, может кто подсказать?

Для тех кто в танке: надо понять, как отправить отрицательный byte в С#.

Спасибо.
  • Вопрос задан
  • 1946 просмотров
Пригласить эксперта
Ответы на вопрос 3
Rou1997
@Rou1997
Во-первых, вам функция GMGetGameAttriByte вообще другая нужна, с 1 аргументом, а у вас 2, во-вторых, что это за код вообще?
Ответ написан
@aol-nnov
что за каша в голове?

байт - это 8 бит. он не отрицательный и не положительный. это восемь разрядов, каждый из которых может быть либо выставлен, либо сброшен.

следующий уровень.
кодирование чисел. целые (знаковые/беззнаковые), с фиксированной точкой, с плавающей точкой. это сам загуглишь.

вот тебе для затравки: знаковые целые - старший бит отведен под знак, от чего количество разрядов, кодирующих число, уменьшается, (в тех же байтах, беззнаковое 0-256, знаковое -127 +128 но появляется знак)
10000001 = это 129 или минус один.
Ответ написан
Комментировать
WarFollowsMe
@WarFollowsMe
Если у вас есть сервер написан на одном языке (Java), а клиент на другом (C#), между ними не бегают типы byte, они друг другу посылают данные. Типы это всего лишь описательные структуры языка программирования и к данным они не имеют никакого отношения. Просто программисту понятнее вместо 10000001, получить значение byte myVar = 129.

byte в Java min value = -128, max value = 127.
byte в C# min value = 0, max value = 255
sbyte в C# min value = -128, max value = 127
Мое мнение вы просто запутались в трех соснах.

Еще очень важное отличие Java и .Net в порядке байтов. У .Net по умолчанию это Little Endian, у Java это Big Endian. Конкретно вашего вопроса эта информация не касается, но в будущем может пригодится.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы