Форум программистов, компьютерный форум CyberForum.ru

Уточнение по коду - C++

Восстановить пароль Регистрация
 
AncinetHero
49 / 49 / 3
Регистрация: 22.05.2011
Сообщений: 326
05.12.2011, 18:33     Уточнение по коду #1
Что возвращает эта строка, если массивы double значений:
C++
1
s[j] = s[j] | s[j-a[i]];
Добавлено через 1 час 8 минут
Я прошу это уже 3 дня, что, даже модераторы не могут обьяснить
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
05.12.2011, 19:11     Уточнение по коду #2
Побитовая операция Включающая ИЛИ (OR)
AncinetHero
49 / 49 / 3
Регистрация: 22.05.2011
Сообщений: 326
05.12.2011, 19:19  [ТС]     Уточнение по коду #3
Все ненулевые числа она делает равными 1?
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
05.12.2011, 19:22     Уточнение по коду #4
AncinetHero, сравнивает по битам два числа, если хотя бы один из двух битов равен 1, то в результат заносит тоже 1 в тот же бит.
AncinetHero
49 / 49 / 3
Регистрация: 22.05.2011
Сообщений: 326
05.12.2011, 19:26  [ТС]     Уточнение по коду #5
если хотя бы один из двух битов равен 1
Если сравнить по битам два числа, то ненулевое число будет равно единице?
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
05.12.2011, 19:28     Уточнение по коду #6
Цитата Сообщение от AncinetHero Посмотреть сообщение
ненулевое число будет равно единице?
Сравниваются биты (т.е. число в двоичной системе, например), а не само число.
Читайте: Как хранятся данные в ЭВМ
AncinetHero
49 / 49 / 3
Регистрация: 22.05.2011
Сообщений: 326
05.12.2011, 19:48  [ТС]     Уточнение по коду #7
Я знаю, как хранятся данные в ЭВМ.

Не по теме:

А что, сложно было мне ответить "Да"?

go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
05.12.2011, 19:51     Уточнение по коду #8
Цитата Сообщение от AncinetHero Посмотреть сообщение
А что, сложно было мне ответить "Да"?
Числа хранятся в доп. коде
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
05.12.2011, 19:53     Уточнение по коду #9
AncinetHero, почему Да? Сравниваются цифры в числе, а не сами числа
AncinetHero
49 / 49 / 3
Регистрация: 22.05.2011
Сообщений: 326
05.12.2011, 19:55  [ТС]     Уточнение по коду #10
Хорошо, а что значит "если хотя бы один из двух битов равен 1", ведь битов в числе может быть очень много, а вы написали что их по 1
aeshes
 Аватар для aeshes
437 / 200 / 13
Регистрация: 07.10.2011
Сообщений: 462
05.12.2011, 19:58     Уточнение по коду #11
Вот пример для наглядности. Возьмем 8-битные числа 6 и 3 и применим к ним эту операцию
00000110 ->6
00000011 ->3
---------
00000111 -> наш результат. т.е. 6|3=7

Операция применяется к соответствующим парам битов этих чисел (первый бит первого числа и первый бит второго, второй бит первого числа и второй бит второго и т.д.)

P.S. Я точно не уверена, но вроде бы эти операции к вещественным типам не применимы?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.12.2011, 20:02     Уточнение по коду
Еще ссылки по теме:

C++ Уточнение по С++11
Уточнение корня методом простой итерации C++
Уточнение корня уравнения C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
AncinetHero
49 / 49 / 3
Регистрация: 22.05.2011
Сообщений: 326
05.12.2011, 20:02  [ТС]     Уточнение по коду #12
Спасибо, понял.

На счет вещественных чисел странно. Вроде бы решение этой задачи нашел: Кладоискатели нашли некое количество золотых самородков... , а если она в вещественных числах, значит еще сложнее наверное будет
Yandex
Объявления
05.12.2011, 20:02     Уточнение по коду
Ответ Создать тему
Опции темы

Текущее время: 05:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru