Непонятки с операторами двоичной логики
|
|
salexeiy | Дата: Вторник, 21.11.2017, 15:54 | Сообщение # 1 |
Лейтенант
Группа: Пользователи
Сообщений: 72
Статус: Offline
| В этой теме, если можно, буду задавать непонятные для меня вопросы. Просьба сильно не пинать
Что значат эти строчки из файла pcopy.bas (из примеров компилятора)? Если можно, подробнее. Код dim SCRW as integer = width and &hffff dim SCRH as integer = (width shr 16) and &hffff
|
|
| |
haav | Дата: Вторник, 21.11.2017, 18:18 | Сообщение # 2 |
Генералиссимус
Группа: Администраторы
Сообщений: 1361
Статус: Offline
| Цитата salexeiy ( ) В этой теме, если можно, буду задавать непонятные для меня вопросы.
Нет друг мой, так не пойдет. Не так много пунктов в правилах, почитай пожалуйста. Я знаю, во что превращаются подобные темы. Ни одним поисковиком потом ни хрена не найдешь. Название поменяю. Пожалуйста создавай для отдельных вопросов отдельные темы.
По вопросу:
WIDTH возвращает ширину и высоту в 4-х байтовом значении , где высота в первых двух байтах, а ширина в последних. В первой строчке с помощью оператора AND выделяются младшие 2 байта, а старшие обнуляются. Во второй строчке , с помощью shr старшие два байта перемещаются вправо на позиции младших байт, ну а дальше как в первой строчке.
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
|
| |
salexeiy | Дата: Вторник, 21.11.2017, 23:59 | Сообщение # 3 |
Лейтенант
Группа: Пользователи
Сообщений: 72
Статус: Offline
| Понял, извиняюсь, просто на некоторых форумах просят наоборот не плодить темы, а задавать вопросы, по возможности, в одной.
За ответ спасибо!!!
P.S. Насчёт правил, касаемо прочтения учебника. Я его прочитал уже несколько раз, но у меня много именно недопонимания по многим разделам учебника. Без сомнения, это огромный труд, но писалось всё это для знающих людей, но не для новичков в программировании точно. Я к тому, что если я начну спрашивать о всех своих недопониманиях, то тем на форуме прибавится на очень много.
Сообщение отредактировал salexeiy - Среда, 22.11.2017, 00:10 |
|
| |
haav | Дата: Среда, 22.11.2017, 16:24 | Сообщение # 4 |
Генералиссимус
Группа: Администраторы
Сообщений: 1361
Статус: Offline
| Цитата salexeiy ( ) P.S. Насчёт правил, касаемо прочтения учебника. Я его прочитал уже несколько раз, но у меня много именно недопонимания по многим разделам учебника. Без сомнения, это огромный труд, но писалось всё это для знающих людей, но не для новичков в программировании точно. Я к тому, что если я начну спрашивать о всех своих недопониманиях, то тем на форуме прибавится на очень много.
Для того и форум, что не ясно спрашивай. Кол-во тем не проблема.
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
|
| |
salexeiy | Дата: Четверг, 23.11.2017, 13:24 | Сообщение # 5 |
Лейтенант
Группа: Пользователи
Сообщений: 72
Статус: Offline
| Хорошо, спасибо!!!
Ещё по поводу вопроса. А зачем такая мудрёная запись с AND и SHR? Ведь есть же HiWord и LoWord. Может есть какое то отличие, например скорость работы или ещё что?
|
|
| |
haav | Дата: Четверг, 23.11.2017, 17:08 | Сообщение # 6 |
Генералиссимус
Группа: Администраторы
Сообщений: 1361
Статус: Offline
| Цитата salexeiy ( ) А зачем такая мудрёная запись с AND и SHR? Ведь есть же HiWord и LoWord
В данном случае действительно короче запись hiword\loword. По скорости нет разницы, ведь макросы hiword\loword по сути эти или подобные битовые операции выполняют. Возможно во время написания исходника pcopy.bas, макросов hiword\loword в FB еще не было, а может автор банально не знал или забыл про них.
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
|
| |
|