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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Свидуботаник
1 / 1 / 0
Регистрация: 03.11.2013
Сообщений: 80
#1

Решаем уравнение - C++

16.06.2014, 00:53. Просмотров 342. Ответов 10
Метки нет (Все метки)

дано:
х=2
q=4

функция:
http://www.cyberforum.ru/cgi-bin/latex.cgi?q=(++q\wedge x<<1)|(q&x++)

сначала перевожу все в двоичный код получаю:
x=2=0010
q=4=0100
ставим по своим местам: http://www.cyberforum.ru/cgi-bin/latex.cgi?0100=(++0100\wedge 0010<<1)|(0100&0010++)
иии начинаем злодействовать... первым действием как я понимаю идет увеличение значения в левой скобке на ++0100 получаем 5 или 0101 следующим действием по приоритету идет сдвиг кода влево на 1 и мы получаем 0100 или 4; третье действие http://www.cyberforum.ru/cgi-bin/latex.cgi?0101\wedge0100 и получаем 0001 или 1
считаем правую скобку:
первым по приоритету стоит действие & т.е. 0100&0010 и получаем полный 0 увеличиваем на 1 получаем 0001 далее выполняем | между скобками и получаем 0001
фигня какая-то как 1 равен 4?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.06.2014, 00:53     Решаем уравнение
Посмотрите здесь:

Решаем задачу вместе - C++
Здравствуйте... У меня подруга сдаёт курсовую.... 1 курс C++ И попросила ей сделать задание... Парни! Должни понять меня......

решаем мат пример - HTML, CSS
Ребята, помогите разобраться с формулой, что вводим что выводим...в формате html... ничего не понимаю..

решаем задачу по 3d точкам - Python
имеются 2 группы массивов для построения 3d точек x= y= z= x2= y2= z2=

Посоветуйте как лучше. Решаем задачку - C#
Прочитал на хабре статейку, и в ней увидел интересную задачку. «Количество лилий в пруду каждый день увеличивается в два раза. В...

Решаем программы, пишем собственные модули и функции - C++
Решаем программы, пишем собственные модули и функции. Давайте в этой теме будем писать совместно программы и их отлаживать. ...

где записывать массив, когда решаем с помощью модуля. - Pascal
в описании переменных мне нужно описать массив, программа решается через модуль, там где описывается процедура мне нужно описать массив...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jewbacabra
Эксперт PHP
2164 / 1828 / 678
Регистрация: 24.04.2014
Сообщений: 5,326
16.06.2014, 01:31     Решаем уравнение #2
Цитата Сообщение от Свидуботаник Посмотреть сообщение
первым по приоритету стоит действие & т.е. 0100&0010 и получаем полный 0 увеличиваем на 1 получаем 0001
приоритет постфиксного инкремента выше. Увеличен будет x, но в вычислении используется старое значение. потом вычисляем 4&2 получаем 0. потом вычисляем 1|1 и получаем q=1 x=3
Цитата Сообщение от Свидуботаник Посмотреть сообщение
фигня какая-то как 1 равен 4?
а кто это сказал? результат вычисленного выражения записывается в q и в q будет записано 1

вообще как мне кажется пример не очень хороши, так как тут UB - не ясно какое q будет использовано во 2 скобке (старое 4 или новое 5), но на результат при данных значениях q и x это не влияет, т.к. 5&2=0 и 4&2=0.
если я не прав, прошу меня поправить.
Свидуботаник
1 / 1 / 0
Регистрация: 03.11.2013
Сообщений: 80
16.06.2014, 01:42  [ТС]     Решаем уравнение #3
как получаем 1и3? откуда они берутся?
Jewbacabra
Эксперт PHP
2164 / 1828 / 678
Регистрация: 24.04.2014
Сообщений: 5,326
16.06.2014, 01:43     Решаем уравнение #4
Цитата Сообщение от Свидуботаник Посмотреть сообщение
как получаем 1и3? откуда они берутся?
q=1 как результат вычисления того, что находится справа от знака =. x=3 из x++
Свидуботаник
1 / 1 / 0
Регистрация: 03.11.2013
Сообщений: 80
16.06.2014, 01:52  [ТС]     Решаем уравнение #5
т.е. q стоящее перед знаком "=" и q в скобках это разные q? если так, то странная математика выходт
Jewbacabra
Эксперт PHP
2164 / 1828 / 678
Регистрация: 24.04.2014
Сообщений: 5,326
16.06.2014, 02:00     Решаем уравнение #6
Свидуботаник, в программировании = (присваивание) отличается от = (равно) в математике
C
1
2
int q=0;
q = 1 + q;
С точки зрения математике это уравнение относительно q которое не имеет решений.
В программировании это следует понимать как: вычислить значение равное 1 + значение в ячейке памяти q ; и записать полученный результат в ячейку памяти q
Свидуботаник
1 / 1 / 0
Регистрация: 03.11.2013
Сообщений: 80
16.06.2014, 22:00  [ТС]     Решаем уравнение #7
написал такой код по этой теме глянь пожалуйста
#include<cmath>
#include<iostream>
int main ()
{
int x,q;
x=2;
q=4;
q=(++q^x<<1)|(q&x++);
printf("%i",x,q);
getchar();
return (0);
}
почему-то выводит только 3 а другое значение замалчивает
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
16.06.2014, 22:05     Решаем уравнение #8
Сообщение было отмечено автором темы, экспертом или модератором как ответ
посмотри внимательно на printf
Jewbacabra
Эксперт PHP
2164 / 1828 / 678
Регистрация: 24.04.2014
Сообщений: 5,326
16.06.2014, 22:14     Решаем уравнение #9
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Свидуботаник Посмотреть сообщение
printf("%i",x,q);
C++
1
printf("q=%d; x=%d\n", q, x);
Добавлено через 1 минуту
но если так:
C++
1
#include<iostream>
то еще лучше:
C++
1
std::cout << "x=" << x << "; q=" << q << std::endl;
Свидуботаник
1 / 1 / 0
Регистрация: 03.11.2013
Сообщений: 80
16.06.2014, 22:29  [ТС]     Решаем уравнение #10
спасибо очень помогли. только начал изучать привык все по шаблону делать никак не могу отойти от этой темы пока голова не хочет искать решений. printf поправил так: printf("x=%d, q=%d",x,q). Зачем синим
Цитата Сообщение от Jewbacabra Посмотреть сообщение
\n
?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.06.2014, 23:20     Решаем уравнение
Еще ссылки по теме:

Решаем задачу,есть дополнительные поля новости- одна строка, много строк- редактируем их - DLE
В DLE есть дополнительные новости- одна строка, много строк , при добавлении ссылки в новости много строк ссылка работает если поменять на...

Подставить в уравнение такие десятичные цифры, чтобы уравнение стало верным - C#
В уравнении вида A + B = C, где A, B и C — неотрицательные целые числа, некоторые цифры заменены на знаки вопроса. Необходимо...

Составить уравнение параболы с вершиной в начале координат, если уравнение ее директрисы x = -5 - Геометрия
Составить уравнение параболы с вершиной в начале координат, если уравнение ее директрисы x = -5 .


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

Или воспользуйтесь поиском по форуму:
Jewbacabra
Эксперт PHP
2164 / 1828 / 678
Регистрация: 24.04.2014
Сообщений: 5,326
16.06.2014, 23:20     Решаем уравнение #11
Цитата Сообщение от Свидуботаник Посмотреть сообщение
\n
\n - перевод строки.
Yandex
Объявления
16.06.2014, 23:20     Решаем уравнение
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru