|
foo();
|
|
.NET 4.x Побитовые операции с целыми числами22.02.2014, 23:29. Показов 2818. Ответов 22
Метки нет (Все метки)
Есть две переменные a и b. Обе задаются значениями в диапазоне [-1;1] включительно. Возможно ли какими нибудь операторами (всякими XOR и т.д.) заменить конструкцию
a == 0 ? b : a ; Кажется что такое возможно, но не пойму как
0
|
|
| 22.02.2014, 23:29 | |
|
Ответы с готовыми решениями:
22
Побитовые операции Логические побитовые операции |
|
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
|
|
| 23.02.2014, 02:12 | |
|
Т.е. если одна из переменных равна нулю, то использовать другую?
0
|
|
|
foo();
|
|
| 23.02.2014, 03:00 [ТС] | |
|
ViterAlex, да. Это возможно без условных операторов?
0
|
|
|
44 / 44 / 19
Регистрация: 20.01.2014
Сообщений: 87
|
||||||
| 23.02.2014, 03:06 | ||||||
|
по сути машина это делает при помощи алгебры логики примерно вот так:
0
|
||||||
|
foo();
|
||||||||||||
| 23.02.2014, 04:55 [ТС] | ||||||||||||
|
вроде у меня получилось:
a | (-a ^ b) & (a ^ b) проверка
такое выражение возможно укоротить? Добавлено через 10 минут dirtez0, позволю себе с Вами не согласиться Добавлено через 8 минут dirtez0, Вашему вниманию предлагается:
возвращаюсь к сабжу, можно ли укоротить выражение : a | (-a ^ b) & (a ^ b)
0
|
||||||||||||
|
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
|
|
| 23.02.2014, 08:51 | |
|
1
|
|
|
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
|
||
| 23.02.2014, 17:18 | ||
|
1
|
||
|
Master of Orion
|
|
| 23.02.2014, 18:14 | |
|
pycture, неправильно считаете:
http://ideone.com/v9uCdG забавно, что по времени одно и то же выходит
0
|
|
|
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
|
|||||||||||
| 23.02.2014, 18:57 | |||||||||||
![]() ксати это еще более синтетический тест чем у меня Добавлено через 18 минут Моно как всегда работает как попало (видимо там компилятор в принципе ниче оптимизировать не в состоянии), а запуск под виндой
Добавлено через 11 минут Ну вот удалось привести моношную версию в чувство (путем избавления от бесполезных массивов) http://ideone.com/7zU8QK Что в этом варианте я считаю неправильно ?
0
|
|||||||||||
|
Master of Orion
|
||||
| 23.02.2014, 19:12 | ||||
|
pycture,
Просто нужно смешанно считать, чтобы ликвидировать возможные аномалии, то есть в 1 цикле.А так довольно интересный результат получился).
![]() Добавлено через 3 минуты rattrapper, кстати, задача случайно не из разряда "отсортировать по нескольким полям с помощью CompareTo"? ![]() Добавлено через 58 секунд pycture, энивей, хотя так и быстрее, лучше использовать понятную логику, а не магию и ловкость рук ![]() Но это не умаляет ваших результатов.
2
|
||||
|
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
|
|||
| 23.02.2014, 19:37 | |||
|
Но в условиях С# данный аспект почти не имеет практического применения, поэтому "лучше использовать понятную логику".
0
|
|||
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|||||||||||||||||
| 23.02.2014, 19:38 | |||||||||||||||||
Было:
0
|
|||||||||||||||||
|
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
|
|||
| 23.02.2014, 19:56 | |||
0
|
|||
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
||
| 23.02.2014, 20:03 | ||
|
Самый близкий результат — 1мс в пользу проверки, а так опережает на 7-8мс стабильно. По ссылке тоже, но там не пойми какой компилятор и на чем выполнение.
0
|
||
|
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
|
||||||||
| 23.02.2014, 20:11 | ||||||||
Можете попробывать убрать вызов Randomize из тела цикла
0
|
||||||||
|
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
|
|||
| 23.02.2014, 20:17 | |||
|
Добавлено через 1 минуту
0
|
|||
|
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
|
||||||||
| 23.02.2014, 20:26 | ||||||||
0
|
||||||||
| 23.02.2014, 20:26 | |
|
Помогаю со студенческими работами здесь
20
Побитовые операции с double Побитовые операции - сдвиг побитовые операции Побитовые операции
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|