101

(21 відповідей, залишених у C++)

koala написав:

Там тільки доповняльний для цілих і рухома кома за IEEE 754.

Пруф для "two's complement" знайти не так просто виявилось
І щось мені здається що IEEE 754 не гарантований (std::numeric_limits::is_iec559)

102

(21 відповідей, залишених у C++)

koala написав:

Причому якби мова була C++, то за стандартом там всі ці деталі визначені. Але вам задали C... і викладач, швидше за все, сам не знає, що там такий зоопарк.

А можна детальніше?

103

(21 відповідей, залишених у C++)

Отак от

104

(22 відповідей, залишених у Системи контролю версій (SCM, VCS))

Може хай git hook робоить "source" вашого dev_bashrc?

105

(6 відповідей, залишених у C++)

Можете пояснити в чому ідея "size--" ?

106

(388 відповідей, залишених у Алгоритми та структури даних, технології)

koala написав:

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) Як знайти 'у' має бути зрозуміло тим хто дочитав :)

Графоманія

107

(48 відповідей, залишених у Електроніка)

Q-bart написав:

Привіт! В мене так не вийшло почати щось робити з ардуїнкою. Лише зараз в універі маємо розібратись з тим як причепити WiFi модуль, і посилати запити на сервер.

Питання: це реально? Який віфі модуль порадите купити?

https://www.olx.ua/list/q-arduino-wi-fi/

108

(37 відповідей, залишених у Залізо)

Рекомендую по можливості взяти б\у ЦП, ОЗУ і матерниську плату. Корпус при бажанні також б\у підійде. Значно зекономите.
Відеокарту та бж всеж варто брати нові

109

(18 відповідей, залишених у Інше)

tim написав:

Де і як найчастіше купуєте, дістаєте, отримуєте книги?

Переважно http://www.yakaboo.ua або http://www.bookzone.com.ua/
Зрідка в "книгарні Є"

110

(33 відповідей, залишених у Обговорення)

Q-bart написав:

Не по темі: а що пишуть на go/rust

Все що на пітоні чи плюсах відповідно
От цікавий приклад - https://github.com/jwilm/alacritty

111

(13 відповідей, залишених у C++)

"Правильно поставлене питання містить половину відповіді"

P.Y. написав:

Вже дивився. Треба 64-бітку...

У вас 32? Той флов наче не проти хорошого заліза, а у вас певно не найпотужншіе
Дайте знати що вийшло

113

(14 535 відповідей, залишених у Інше)

FakiNyan написав:

ну я то про js кажу

ECMA Script specification

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.
...

Чітко прописано що зліва на право, навідімну від С++

114

(31 відповідей, залишених у C++)

Дуже надіюсь що ви троль

115

(6 відповідей, залишених у C++)

0xDADA11C7 написав:

А мені не подобається С++, бо ті хто пишуть плюсами рідко послуговуються ВінАПІ - більше boost`ами та QT

Тим не менше, класична книга по вінапі має С++ в назві і в прикладах

116

(6 відповідей, залишених у C++)

Я би рекомендував код відформатувати
Ато засильно нагадує методичку з політеха

117

(14 535 відповідей, залишених у Інше)

LoganRoss написав:

З таблиці пріоритетності
i++ можна записати як i = i + 1. В цьому випадку спочатку виконається присвоєння.
++і еквівалентно і += 1.
Так, це залежить від компілятора, але я не керувався компілятором, а тільки стандартом С++.
Знаю що на Linux g++ виведе 12 (щойно перевірив) і мені ця логіка здається дещо дивною, тому віддаю перевагу майкрософському компілятору.

Kizyak написав:

Це абсурдно, як на мене

Обгрунтуйте.

Ви уважно прочитали шматок стандарту що я навів?
Ще раз по простому, порядок обробки "сторін" оператора "+" недетермінований, тобто чи ліва чи права частина буде оброблятсь - недетерміновано
З цього випливає, що результат виразу недетермінований, так як він залежить від порядку, в якому будуть обраховуватись "боки" оператора "+", який, нагадаю, недетермінований

118

(14 535 відповідей, залишених у Інше)

LoganRoss написав:
/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.

119

(14 535 відповідей, залишених у Інше)

/KIT\ написав:

Чому буде дорівнювати змінна і? (С++)

int i = 5;
i = i++ + ++i;

UB же, нема сіквенс поінта

Є купа літератури по темі
Пошукаєте щось достойне і не велике