|
|
|
Диплом и сопутствующие вопросы
|
|||
|---|---|---|---|
|
#18+
adf Код: plaintext 1. 2. :) Наверное, книг совсем не читаешь :) Вообще-то это есть в (почти) каждом языке - "побитовые логические операции". Вот прямо по этим словам и можешь искать в оглавлении книг :) Это все-таки теория, не знать которую просто неудобно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2005, 10:46 |
|
||
|
Диплом и сопутствующие вопросы
|
|||
|---|---|---|---|
|
#18+
B.Eckel, Thinking In Java Битовые операторы Битовые операторы позволяют вам манипулировать индивидуальным битом в интегрированном примитивном типе данных. Битовые операторы вычисляются по Булевой алгебре над соответствующими битами двух аргументов для произведения результата. Битовые операторы пришли из никоуровневой ориентации C; вы будите часто напрямую манипулировать оборудованием и устанавливать биты в регистрах апаратуры. Java изначально была разработана для встраивания в телевизор, так что низкоуровневая ориентация все еще чувствуется. Однако вы, вероятно, не будете часто использовать битовые операции. Битовый оператор И (&) производит единицу в выходном бите, если оба входных бита были единицами; в противном случае результат - ноль. Битовый оператор ИЛИ (|) производит единицу в выходном бите, если один из входных бит - единица, и производит ноль, если оба бита - нули. Битовое ИСКЛЮЧАЮЩЕЕ ИЛИ, или XOR (^), производит единицу в выходном бите, если один или другой входной бит - единица, но не оба. Битовая операция НЕ (~, также называемый оператором дополнения) - это унарный оператор; он принимает только один аргумент. (Все остальные битовые операторы - бинарные.) Битовое НЕ на выходе производит бит, противоположных входящему — единицу, если входящий бит - ноль, и ноль, если входящий бит - единица. Битовые операторы и логические операторы используют одинаковые символы, так что полезно иметь мнемоническуе схему, которая поможет вам запомнить значения: так как биты “малы”, то используется только один символ в битовых операторах. Битовые операторы можно комбинировать со знаком = для соединения операции и присвоений: &=, |= и ^= являются допустимыми. (Так как ~ - это унарный оператор, он не может комбинироваться со знаком =.) Тип boolean трактуется как однобитное значение, так что это кое в чем отличается. Вы можете выполнять битовое И, ИЛИ и XOR, но вы не можете выполнять битовое НЕ (предположительно для предотвращения путаницы с логическим НЕ). Для булевских битовых операций имеется то же эффект, что и для логических операций, за исключением того, что они не подвержены короткому замыканию. Также, битовые операции на булевыми типами, включают логический оператор XOR, который не включен в список “логических” операторов. Вы предохранены от использования булевских типов в выражениях сдвига, которые описаны далее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2005, 10:51 |
|
||
|
Диплом и сопутствующие вопросы
|
|||
|---|---|---|---|
|
#18+
Ба, этож Эккель! Есть у меня эта книжка, только надо у знакомых отжать... Правда, даже если я и читала этот параграф (а по-моему я его просматривала), я бы все равно не знала куда его применить. И сейчас удивляюсь, каким это сюда боком... А книг я действительно мало читала. Честно, я никогда не сталкивалась с такой ситуацией, где я использовала бы битовые операции. В универе нам вскользь говорили что есть такие, но нам так же сказали, что это вам не нужно, поэтому мы это и не будем проходить. И не проходили. Это есть пробел в моих знаниях. Я понимаю, вы об этом узнали до того, как смогли выговорить слово "самообразование". Я не знаю, в каких ситуациях это полезно... Прям всю меня застыдил... :( Господи, я не ж знала, что надо использовать & 255! Мне просто нет прощения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2005, 11:10 |
|
||
|
Диплом и сопутствующие вопросы
|
|||
|---|---|---|---|
|
#18+
Да ладно :) С каждым бывает :) Я вот вчера часа два не понимал - отчего ж у меня данные не суммируются. А всего-то вместо знака "+" стоял знак "=". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2005, 11:21 |
|
||
|
Диплом и сопутствующие вопросы
|
|||
|---|---|---|---|
|
#18+
:) Знакомая ситуация. После того как такую штуку обнаруживаешь, просто такая злость разбирает, что и словами не описать. Выдержки всем нам... Может в двух словах про & 255 напишешь (и про byte)? Хорошая цитата: чтобы правильно задать вопрос, надо знать хотя бы часть ответа ... Эээ как бы мне вопрос сформулировать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2005, 11:31 |
|
||
|
Диплом и сопутствующие вопросы
|
|||
|---|---|---|---|
|
#18+
А что рассказывать? byte - тип, как ты уже знаешь - знаковый. диапазон чисел: -128...127. Размер: 8 бит. int, диапазон: -2 31 ...2 31 - 1. Размер: 32 бита. & - операция 'И'. Ее действие: ABA & B000010100111 Что еще? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2005, 11:49 |
|
||
|
Диплом и сопутствующие вопросы
|
|||
|---|---|---|---|
|
#18+
Да! Да, постой!! :) Это я понимаю (вроде) //Табличка красивая, кстати, тут тэги чтоли можно писать?! А вот что это значит myByte & 255?? Раз байт от -128 до 127 Почему он допускает и до 255? Как определить знаковый он или нет, в С все было просто (типа без знака его сделал и все), а здесь ??? Почему от парс делает в знаковый, а гетИнетАдресс выдает беззнаковый?? Ничего не понимаю... Хелп! Хелп! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2005, 12:03 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=33052225&tid=2152434]: |
0ms |
get settings: |
8ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
71ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
| others: | 226ms |
| total: | 412ms |

| 0 / 0 |
