Там тільки доповняльний для цілих і рухома кома за IEEE 754.
Пруф для "two's complement" знайти не так просто виявилось
І щось мені здається що IEEE 754 не гарантований (std::numeric_limits::is_iec559)
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → Повідомлення користувача 0x9111A
Там тільки доповняльний для цілих і рухома кома за IEEE 754.
Пруф для "two's complement" знайти не так просто виявилось
І щось мені здається що IEEE 754 не гарантований (std::numeric_limits::is_iec559)
Причому якби мова була C++, то за стандартом там всі ці деталі визначені. Але вам задали C... і викладач, швидше за все, сам не знає, що там такий зоопарк.
А можна детальніше?
Може хай git hook робоить "source" вашого dev_bashrc?
Можете пояснити в чому ідея "size--" ?
0x9111A, так який все ж "красивий" розв'язок у пошуку двох відсутніх чисел у два проходи?
1) Шукаємо суму чисел [1..N] по шкільній формулі і від неї віднімаємо суму вхідного масиву.
На виході сума відсутніх чисел, хай буде (x+y).
2) Оскільки числа не однакові, одне з них буде гаратновано <= (x+y)/2. Менше рівне щоб цілочисельне ділення запрацювало ( (3 + 4) / 2 = 3 ).
3) Використовуючи той самий метод що й у кроці 1, шукаємо x:
Тепер ми знаємо, що одне з чисел в діапазоні [1..(x+y)/2], а друге точно ні. Шукаємо суму чисел [1..(x+y)/2] по шкільній формулі і віднімаємо суму чисел з нашого масиво що підходять в цей діапазон.
4) Як знайти 'у' має бути зрозуміло тим хто дочитав
Привіт! В мене так не вийшло почати щось робити з ардуїнкою. Лише зараз в універі маємо розібратись з тим як причепити WiFi модуль, і посилати запити на сервер.
Питання: це реально? Який віфі модуль порадите купити?
Рекомендую по можливості взяти б\у ЦП, ОЗУ і матерниську плату. Корпус при бажанні також б\у підійде. Значно зекономите.
Відеокарту та бж всеж варто брати нові
Де і як найчастіше купуєте, дістаєте, отримуєте книги?
Переважно http://www.yakaboo.ua або http://www.bookzone.com.ua/
Зрідка в "книгарні Є"
Не по темі: а що пишуть на go/rust
Все що на пітоні чи плюсах відповідно
От цікавий приклад - https://github.com/jwilm/alacritty
"Правильно поставлене питання містить половину відповіді"
Вже дивився. Треба 64-бітку...
У вас 32? Той флов наче не проти хорошого заліза, а у вас певно не найпотужншіе
Дайте знати що вийшло
ну я то про js кажу
11.6.1 The Addition operator ( + )
The addition operator either performs string concatenation or numeric addition.
The production AdditiveExpression : AdditiveExpression + MultiplicativeExpression is evaluated as
follows:
1. Evaluate AdditiveExpression.
2. Call GetValue(Result(1)).
3. Evaluate MultiplicativeExpression.
...
Чітко прописано що зліва на право, навідімну від С++
Дуже надіюсь що ви троль
А мені не подобається С++, бо ті хто пишуть плюсами рідко послуговуються ВінАПІ - більше boost`ами та QT
Тим не менше, класична книга по вінапі має С++ в назві і в прикладах
Я би рекомендував код відформатувати
Ато засильно нагадує методичку з політеха
З таблиці пріоритетності
i++ можна записати як i = i + 1. В цьому випадку спочатку виконається присвоєння.
++і еквівалентно і += 1.
Так, це залежить від компілятора, але я не керувався компілятором, а тільки стандартом С++.
Знаю що на Linux g++ виведе 12 (щойно перевірив) і мені ця логіка здається дещо дивною, тому віддаю перевагу майкрософському компілятору.Kizyak написав:Це абсурдно, як на мене
Обгрунтуйте.
Ви уважно прочитали шматок стандарту що я навів?
Ще раз по простому, порядок обробки "сторін" оператора "+" недетермінований, тобто чи ліва чи права частина буде оброблятсь - недетерміновано
З цього випливає, що результат виразу недетермінований, так як він залежить від порядку, в якому будуть обраховуватись "боки" оператора "+", який, нагадаю, недетермінований
/KIT\ написав:Чому буде дорівнювати змінна і? (С++)
int i = 5; i = i++ + ++i;
Буде 13.
Розв'язок
i = i++ - спочатку виконається присвоєння, а потім інкремент. Отже тут і = 5 + 1 -> i = 6
Тепер i = 6 + ++i. ++i буде тепер 7, бо після попередньої операції i++ змінна і стала 6, отже ++6 = 7.
Звідси
6 + 7 = 13
P.S. Ще можна написати чому дорівнює lvalue після кожної операції. Запишу так, може хтось зрозуміє.
5 = 5 + 1 + ++5
5 = 6 + ++6
6 = 6 + 7
7 = 13
13 = 13
А з чого це ви взяли, що першим обрахується "і++"?
А якщо в AST нода з "++і" пріорітетніша?
В будьякому випадку, це UB, "+" не є сіквенс поінтом, тобто операнди зліва і з права можуть бути обраховані в довільному порядку (на відміну від Java, наскільки мені відомо)
+ https://lurkmore.to/_/9978#mws_n9L3hTK
++
If a side effect on a scalar object is unsequenced relative to either a different side effect on the same scalar object or a value computation using the value of the same scalar object, the behavior is undefined. If there are multiple allowable orderings of the subexpressions of an expression, the behavior is undefined if such an unsequenced side effect occurs in any of the orderings.
Чому буде дорівнювати змінна і? (С++)
int i = 5; i = i++ + ++i;
UB же, нема сіквенс поінта
Є купа літератури по темі
Пошукаєте щось достойне і не велике