Здравствуйте, chesnokov_a, Вы писали:
_>Здравствуйте, fefelov, Вы писали:
F>>Если к этому числу применить "& 0xff", то биты, которые получились в результате преобразования типов, будут "выкинуты":
F>>0xffffff80 & 0xff = 0x80
F>>что и требовалось получить.
_>То есть при выполнении:
_>_>int b = i & 0xFF;
_>
_>Первым делом происходит преобразование i к типу integer,
_>где он и преобретает дополнительные 3и бита,
_>затем мы обнуляем эти 3и бита маской FF — через которую проходит только младший бит
_>и затем мы присваиваем получившееся значение b.
_>Я правельно понял?
_>Почему так "некорректно" происходит преобразование типа byte к integer?
Вот тут посмотрите
Здравствуйте, Аноним, Вы писали:
А>А>int b = array[j] & 0xFF;
А>
А>моя голова говорит мне что это равносильно:
А>А>int b = array[j];
А>
Кстати баян.
http://rsdn.ru/Forum/Message.aspx?mid=1181163&only=1Автор: dshe
Дата: 19.05.05
Здравствуйте, zubr, Вы писали:
Z>Здравствуйте, aefimov, Вы писали:
A>>Тьфу, четыре всмысле
Z>эм... ну и пусть 4
Z>почему
Z>Z> int b = array[j];
Z>
Z>не то же самое что и
Z>Z> int b = array[j] & 0xFF;
Z>
Z>кто то добавит ненулевые биты?
Все типы в JAva (кроме char) — знаковые. Т.е. в случае
byte a = 0xff;
int b = a;
получим в а значение -1 (0xFFFFFFFF).
Ну а дальше — понятно

... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Здравствуйте, Passer, Вы писали:
P>кстати подскажите пожалуйста как xor в java делать
Если зайти на гугл:
здесь
то найдем:
http://java.sun.com/docs/books/tutorial/java/nutsandbolts/bitwise.html
и сделаем вывод:
Не в обиду