powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Диплом и сопутствующие вопросы
7 сообщений из 32, страница 2 из 2
Диплом и сопутствующие вопросы
    #33052125
всхлип
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
adf
Код: plaintext
1.
2.
       byte  b = my[i]; // знаковый байт
       int  bi = b &  255 ; // "беззнаковый" байт
Не очень поняла конструкцию...

:) Наверное, книг совсем не читаешь :)

Вообще-то это есть в (почти) каждом языке - "побитовые логические операции". Вот прямо по этим словам и можешь искать в оглавлении книг :) Это все-таки теория, не знать которую просто неудобно :)
...
Рейтинг: 0 / 0
Диплом и сопутствующие вопросы
    #33052136
B.Eckel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
B.Eckel, Thinking In Java
Битовые операторы

Битовые операторы позволяют вам манипулировать индивидуальным битом в
интегрированном примитивном типе данных. Битовые операторы вычисляются по
Булевой алгебре над соответствующими битами двух аргументов для
произведения результата.

Битовые операторы пришли из никоуровневой ориентации C; вы будите часто
напрямую манипулировать оборудованием и устанавливать биты в регистрах
апаратуры. Java изначально была разработана для встраивания в телевизор, так
что низкоуровневая ориентация все еще чувствуется. Однако вы, вероятно, не
будете часто использовать битовые операции.

Битовый оператор И (&) производит единицу в выходном бите, если оба входных
бита были единицами; в противном случае результат - ноль. Битовый оператор
ИЛИ (|) производит единицу в выходном бите, если один из входных бит -
единица, и производит ноль, если оба бита - нули. Битовое ИСКЛЮЧАЮЩЕЕ ИЛИ,
или XOR (^), производит единицу в выходном бите, если один или другой
входной бит - единица, но не оба. Битовая операция НЕ (~, также называемый
оператором дополнения) - это унарный оператор; он принимает только один
аргумент. (Все остальные битовые операторы - бинарные.) Битовое НЕ на выходе
производит бит, противоположных входящему — единицу, если входящий бит -
ноль, и ноль, если входящий бит - единица.

Битовые операторы и логические операторы используют одинаковые символы,
так что полезно иметь мнемоническуе схему, которая поможет вам запомнить
значения: так как биты “малы”, то используется только один символ в битовых
операторах.

Битовые операторы можно комбинировать со знаком = для соединения операции
и присвоений: &=, |= и ^= являются допустимыми. (Так как ~ - это унарный
оператор, он не может комбинироваться со знаком =.)

Тип boolean трактуется как однобитное значение, так что это кое в чем
отличается. Вы можете выполнять битовое И, ИЛИ и XOR, но вы не можете
выполнять битовое НЕ (предположительно для предотвращения путаницы с
логическим НЕ). Для булевских битовых операций имеется то же эффект, что и
для логических операций, за исключением того, что они не подвержены
короткому замыканию. Также, битовые операции на булевыми типами, включают
логический оператор XOR, который не включен в список “логических”
операторов. Вы предохранены от использования булевских типов в выражениях
сдвига, которые описаны далее.
...
Рейтинг: 0 / 0
Диплом и сопутствующие вопросы
    #33052190
Фотография adf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ба, этож Эккель! Есть у меня эта книжка, только надо у знакомых отжать...
Правда, даже если я и читала этот параграф (а по-моему я его просматривала), я бы все равно не знала куда его применить. И сейчас удивляюсь, каким это сюда боком...

А книг я действительно мало читала. Честно, я никогда не сталкивалась с такой ситуацией, где я использовала бы битовые операции. В универе нам вскользь говорили что есть такие, но нам так же сказали, что это вам не нужно, поэтому мы это и не будем проходить. И не проходили. Это есть пробел в моих знаниях.
Я понимаю, вы об этом узнали до того, как смогли выговорить слово "самообразование".
Я не знаю, в каких ситуациях это полезно...

Прям всю меня застыдил... :(

Господи, я не ж знала, что надо использовать & 255!

Мне просто нет прощения
...
Рейтинг: 0 / 0
Диплом и сопутствующие вопросы
    #33052225
всхлип
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да ладно :) С каждым бывает :) Я вот вчера часа два не понимал - отчего ж у меня данные не суммируются. А всего-то вместо знака "+" стоял знак "=".
...
Рейтинг: 0 / 0
Диплом и сопутствующие вопросы
    #33052265
Фотография adf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
:) Знакомая ситуация.
После того как такую штуку обнаруживаешь, просто такая злость разбирает, что и словами не описать.
Выдержки всем нам...

Может в двух словах про & 255 напишешь (и про byte)?

Хорошая цитата:
чтобы правильно задать вопрос, надо знать хотя бы часть ответа ...

Эээ как бы мне вопрос сформулировать...
...
Рейтинг: 0 / 0
Диплом и сопутствующие вопросы
    #33052299
всхлип
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А что рассказывать?

byte - тип, как ты уже знаешь - знаковый. диапазон чисел: -128...127. Размер: 8 бит.

int, диапазон: -2 31 ...2 31 - 1. Размер: 32 бита.

& - операция 'И'. Ее действие:

ABA & B000010100111

Что еще? :)
...
Рейтинг: 0 / 0
Диплом и сопутствующие вопросы
    #33052337
Фотография adf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да! Да, постой!! :)
Это я понимаю (вроде)
//Табличка красивая, кстати, тут тэги чтоли можно писать?!

А вот что это значит myByte & 255??

Раз байт от -128 до 127
Почему он допускает и до 255?
Как определить знаковый он или нет, в С все было просто (типа без знака его сделал и все), а здесь ???
Почему от парс делает в знаковый, а гетИнетАдресс выдает беззнаковый??

Ничего не понимаю... Хелп! Хелп!
...
Рейтинг: 0 / 0
7 сообщений из 32, страница 2 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Диплом и сопутствующие вопросы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]