FreeBasic
Главная
Вход
Регистрация
Пятница, 19.04.2024, 07:34Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Freebasic » Вопросы по языку FreeBasic » Непонятки с операторами двоичной логики
Непонятки с операторами двоичной логики
salexeiyДата: Вторник, 21.11.2017, 15:54 | Сообщение # 1
Лейтенант
Группа: Пользователи
Сообщений: 72
Репутация: 2
Статус: Offline
В этой теме, если можно, буду задавать непонятные для меня вопросы. Просьба сильно не пинать smile

Что значат эти строчки из файла 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
Репутация: 49
Статус: Offline
Цитата salexeiy ()
В этой теме, если можно, буду задавать непонятные для меня вопросы.


Нет друг мой, так не пойдет. Не так много пунктов в правилах, почитай пожалуйста. Я знаю, во что превращаются подобные темы. Ни одним поисковиком потом ни хрена не найдешь. Название поменяю. Пожалуйста создавай для отдельных вопросов отдельные темы.

По вопросу:

WIDTH возвращает ширину и высоту в 4-х байтовом значении , где высота в первых двух байтах, а ширина в последних. В первой строчке с помощью оператора AND выделяются младшие 2 байта, а старшие обнуляются. Во второй строчке , с помощью shr старшие два байта перемещаются вправо на позиции младших байт, ну а дальше как в первой строчке.


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
salexeiyДата: Вторник, 21.11.2017, 23:59 | Сообщение # 3
Лейтенант
Группа: Пользователи
Сообщений: 72
Репутация: 2
Статус: Offline
Понял, извиняюсь, просто на некоторых форумах просят наоборот не плодить темы, а задавать вопросы, по возможности, в одной.

За ответ спасибо!!!

P.S. Насчёт правил, касаемо прочтения учебника. Я его прочитал уже несколько раз, но у меня много именно недопонимания по многим разделам учебника. Без сомнения, это огромный труд, но писалось всё это для знающих людей, но не для новичков в программировании точно. Я к тому, что если я начну спрашивать о всех своих недопониманиях, то тем на форуме прибавится на очень много.


Сообщение отредактировал salexeiy - Среда, 22.11.2017, 00:10
 
haavДата: Среда, 22.11.2017, 16:24 | Сообщение # 4
Генералиссимус
Группа: Администраторы
Сообщений: 1361
Репутация: 49
Статус: Offline
Цитата salexeiy ()
P.S. Насчёт правил, касаемо прочтения учебника. Я его прочитал уже несколько раз, но у меня много именно недопонимания по многим разделам учебника. Без сомнения, это огромный труд, но писалось всё это для знающих людей, но не для новичков в программировании точно. Я к тому, что если я начну спрашивать о всех своих недопониманиях, то тем на форуме прибавится на очень много.


Для того и форум, что не ясно спрашивай. Кол-во тем не проблема.


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
salexeiyДата: Четверг, 23.11.2017, 13:24 | Сообщение # 5
Лейтенант
Группа: Пользователи
Сообщений: 72
Репутация: 2
Статус: Offline
Хорошо, спасибо!!!

Ещё по поводу вопроса. А зачем такая мудрёная запись с AND и SHR? Ведь есть же HiWord и LoWord. Может есть какое то отличие, например скорость работы или ещё что?
 
haavДата: Четверг, 23.11.2017, 17:08 | Сообщение # 6
Генералиссимус
Группа: Администраторы
Сообщений: 1361
Репутация: 49
Статус: Offline
Цитата salexeiy ()
А зачем такая мудрёная запись с AND и SHR? Ведь есть же HiWord и LoWord


В данном случае действительно короче запись hiword\loword. По скорости нет разницы, ведь макросы hiword\loword по сути эти или подобные битовые операции выполняют. Возможно во время написания исходника pcopy.bas, макросов hiword\loword в FB еще не было, а может автор банально не знал или забыл про них.


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
Форум » Freebasic » Вопросы по языку FreeBasic » Непонятки с операторами двоичной логики
  • Страница 1 из 1
  • 1
Поиск: