Size: a a a

🎄.NET Talks: Evergreen🎄

2020 January 14

А

Артёмка ;) in 🎄.NET Talks: Evergreen🎄
почему когда я пишу 0.3 оно воспринимает это как 0.3, как оно выглядит то в памяти, ведь должно выводить 0.300000000001
источник

A

Artur in 🎄.NET Talks: Evergreen🎄
Артёмка ;)
почему когда я пишу 0.3 оно воспринимает это как 0.3, как оно выглядит то в памяти, ведь должно выводить 0.300000000001
а если поделить на 2.0 ?
источник

A

Artur in 🎄.NET Talks: Evergreen🎄
Я не шарю, прост спросил
источник

A

Artur in 🎄.NET Talks: Evergreen🎄
источник

А

Артёмка ;) in 🎄.NET Talks: Evergreen🎄
Artur
а если поделить на 2.0 ?
то же самое
источник

А

Артёмка ;) in 🎄.NET Talks: Evergreen🎄
#include <iomanip>
#include <iostream>
int main() {
   std::cout << std::setprecision(17) << 0.1 + 0.2;
}
выведет 0.300000000004
а если пресижн поставить не 17, а 3 допустим, то будет 0.3

я так понимаю, что это просто 0.30000004 значение хранится в памяти, но когда оно конвертируется в вывод, то оно так выводит просто как 0.3, если не доходит до четверки
источник

А

Артёмка ;) in 🎄.NET Talks: Evergreen🎄
но все равно, остается вопрос, какого хера просто 0.3 выводит как 0.3 а 0.1 + 0.2 выводит как 0.30000004 (я не указывал нигде пресижн)
источник

А

Артёмка ;) in 🎄.NET Talks: Evergreen🎄
ах
источник

А

Артёмка ;) in 🎄.NET Talks: Evergreen🎄
(0.3).toFixed(17) // 0.29999999999999
0.3 // 0.3
источник

А

Артёмка ;) in 🎄.NET Talks: Evergreen🎄
все, я понял. 0.3 значит не хранится в памяти, это просто при выводе оно так выводит
источник
2020 January 15

V

Vlad in 🎄.NET Talks: Evergreen🎄
Ilya
а хейтерам msbuild прощения нет
Мсбилд - отстой
источник

V

Vlad in 🎄.NET Talks: Evergreen🎄
Всегда выпиливал его и заменял павершеллом
источник

V

Vlad in 🎄.NET Talks: Evergreen🎄
Невыносимое уродство этот мсбилд
источник

V

Vlad in 🎄.NET Talks: Evergreen🎄
Дебажить нельзя
источник

V

Vlad in 🎄.NET Talks: Evergreen🎄
Конфиг хмльный
источник

V

Vlad in 🎄.NET Talks: Evergreen🎄
Порог вхождения высок
источник

V

Vlad in 🎄.NET Talks: Evergreen🎄
И ещё за его знание не платят
источник

В

Вячеслав in 🎄.NET Talks: Evergreen🎄
Артёмка ;)
все, я понял. 0.3 значит не хранится в памяти, это просто при выводе оно так выводит
Почитай как хранятся в памяти числа с плавающей точкой
источник

А

Артёмка ;) in 🎄.NET Talks: Evergreen🎄
Вячеслав
Почитай как хранятся в памяти числа с плавающей точкой
читал уже не раз, решил вот перечитать.
https://softwareengineering.stackexchange.com/a/215126
вот здесь не понятно, почему число 3.14159 хранится как
0               10000010                       11001001000011111100111
знак         степень на которую умножать мантиссу мантисса

когда можно просто хранить это как

1            00000011              00100100001111111000000
знак      число до точки  число после точки
источник

А

Артёмка ;) in 🎄.NET Talks: Evergreen🎄
нахрена умножать мантиссу на число в степени 2, если на число в степени 10 умножать логично, тогда точка сместится, то в чем смысл умножать на число в степени 2
источник