Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Общие вопросы > Побитовое или |
Автор: DESert 7.12.2005, 23:20 |
Привет всем! Как посчитать "побитое или" двух целых чисел?... Каков результат этой оперции? Заранее благодарен ![]() |
Автор: bel_nikita 7.12.2005, 23:25 |
Переведи в двоичную, а дальше: 1 | 1 = 1 1 | 0 = 1 0 | 0 = 0 |
Автор: nikitao 7.12.2005, 23:26 | ||
Вот так и будет:
|
Автор: DESert 7.12.2005, 23:36 |
тогда z равно 20 (10100) ? если правильно всё понял... |
Автор: nikitao 7.12.2005, 23:40 |
DESert,При компеляции выдало 21.Ты ошибся в последнем бите |
Автор: DESert 7.12.2005, 23:49 |
да, устный счет подвёл, машина оказалась сильней ![]() |
Автор: cardinal 7.12.2005, 23:58 |
DESert, не забывай, что проверить это можно в обычном виндовозном калькуляторе... |
Автор: DESert 8.12.2005, 00:10 |
а как можно представить число типа double в двоичное представление? |
Автор: cardinal 8.12.2005, 00:18 |
Точно также как и все остальные... http://forum.vingrad.ru/index.php?act=Search&CODE=show&searchid=e52422d09ad6cb98f29ad4614aa4c715&search_in=posts&result_type=topics&highlite=%F1%F7%E8%F1%EB%E5%ED%E8%FF |
Автор: DESert 8.12.2005, 00:45 |
спасибо ![]() |
Автор: Fighter 12.12.2005, 00:05 | ||||||
А как работать с побитовыми операциями, например, как это широко практикуется в MFC. Например в каком нибудь *.h файле объявлены константы
Потом в какой-нибудь функции мы пишем
И у нас создается "видимое плоское окошко". Как самому писать такие фени (ну пусть что-нить попроще будет для начала). Например, чтобы я написал что-то вроде
Вроде я правильно все написал (если не правильно то пожалуйста поправльте). И затем мне нужно проверять, установил ли я значения PARAM1 и PARAM2 или нет. |
Автор: cardinal 12.12.2005, 03:33 | ||||||
А если ты их не установишь, то ничего компилироваться не будет...
Широко, т.к. то что ты объявляешь с помощью #define это константы, а их название запомнить проще, чем какие-то там цифры.
Ну так правильно ты все написал. В чем проблема то? |
Автор: azesmcar 12.12.2005, 09:29 | ||
Например для функции
Работает это так.. ты задаешь вместо своей переменной int params PARAM1 | PARAM2 т.е. получается 00000001 PARAM1 | 00000010 PARAM2 ------------- 00000011 params а в функции уже проверяешь если последний бит установлен в единицу значит PARAM1 задан...примерно так 00000011 params & 00000001 PARAM1 ------------- 00000001 result |
Автор: apook 1.10.2007, 08:15 | ||
передаю PARAM1 проверяю: params & PARAM1 ==1 передаю PARAM2 проверяю: params & PARAM2 ==2 передаю PARAM2 проверяю: params & PARAM1 ==0 передаю PARAM1 проверяю: params & PARAM2 ==0 все верно передаю PARAM2 проверяю: params & PARAM3 ==2 передаю PARAM3 проверяю: params & PARAM2 ==2 что-за? как сделать больше двух параметров
|
Автор: dumb 1.10.2007, 08:34 |
константы должны быть степенями двойки: 1,2,4,8,... |
Автор: Fazil6 1.10.2007, 08:35 | ||
|