Бред

Ответить в тред Ответить в тред
Check this out!
Аноним 18/07/21 Вск 20:16:50 2510782391
image.png 28Кб, 1200x1200
1200x1200
Сап двач, объясните сука кто разбирается простыми словами следующие вещи:

1) Почему 0.1 + 0.2 === 0.30000000000000004? Почему так происходит? Нигде в русском инете не нашел детального объяснения кроме "ну там процессор, хуе мое, бесконечная дробь, там". Не кидайте эти долбаебские статьи с хабра где снобы-авторы все усложняют какими-то математическими хуйнями, и даже сами не понимают что несут. Если ты тот самый дохуя умный пидор который лайкает и распространяет эти статьи, пишет комментарии словно понимает эти блядские иероглифы можешь идти нахуй.

2) Почему 9999999999999999 === 10000000000000000?

3) Почему если число увеличивается, то он приобретает вид экспоненциальной записи, например: "1e+25"? Сомневаюсь что просто для удобства чтения, потому что 9999999999999999999999999 + 1 === 9999999999999999999999999 === true.
Аноним 18/07/21 Вск 20:17:43 2510782992
Бамп
Аноним 18/07/21 Вск 20:18:29 2510783463
image.png 29Кб, 769x464
769x464
Бамп
Аноним 18/07/21 Вск 20:19:09 2510783954
image.png 20Кб, 778x329
778x329
Бамп
Аноним 18/07/21 Вск 20:19:51 2510784435
image.png 13Кб, 770x320
770x320
Бамп
Аноним 18/07/21 Вск 20:20:11 2510784656
>>251078239 (OP)
> Почему 0.1 + 0.2 === 0.30000000000000004? Почему так происходит? Нигде в русском инете не нашел детального объяснения кроме
Тупой чтоль? Есть там объяснения. Потому что числа конвертятся в двочные, складываются, потом обратно в десятичные. Из-за этого ошибки, как при если в гуг-переводчик перевести текст на монгольский, потом обратно на русский.
> 2) Почему 9999999999999999 === 10000000000000000?
Это где так, в JS Я хз
Аноним 18/07/21 Вск 20:20:21 2510784787
Бамп
Аноним 18/07/21 Вск 20:22:33 2510786188
>>251078465
Тогда почему 2.3 + 1.2 === 3.5?
Почему тут ошибки нет, а там есть?
Аноним 18/07/21 Вск 20:22:47 2510786469
>>251078465
вот же нормально объяснил, можешь когда захочешь
Аноним 18/07/21 Вск 20:24:02 25107872410
Бамп
Аноним 18/07/21 Вск 20:25:29 25107883511
Бамп
Аноним 18/07/21 Вск 20:26:25 25107890812
>>251078239 (OP)
отвечу на второй

это равенство корректно, именно если дробь 0,9999... бесконечна. Только в этом случае она обладает всеми свойствами что и 1. С точки зрения анализа м оперций в анализе 0.(9) удовлетворяет всем свойствам что и 1. А самая главная аксиома наименьшей верхней границы.

К примеру любое не пустое множество ограниченное 1, как самой нименьшей верхней границей, так же ограничена 0.(9) как наименьшей верхней границей. Сам проверь: дай мне любое число которое якобы стоит между 0.(9) и 1 и я докажу тебе что это не так. Это одно и тоже вещественное число и между ними нету числа.
Аноним 18/07/21 Вск 20:27:22 25107896813
>>251078908
Он видимо не про математику, а язык JS
Аноним 18/07/21 Вск 20:31:13 25107922714
>>251078908
Я про программирование, в частности JavaScript, ничего не понял из того что ты написал
Аноним 18/07/21 Вск 20:33:12 25107935315
Бамп
Аноним 18/07/21 Вск 20:34:12 25107941516
Бамп
Аноним 18/07/21 Вск 20:35:07 25107947417
Бамп
Аноним 18/07/21 Вск 20:35:21 25107949518
>>251078239 (OP)
Потому что в JS используются числа с плавающей запятой, а целых чисел нет. А у чисел с плавающей запятой своя арифметика, похожая на школьную арифметику только издалека. Чем ближе смотришь, тем больше оно различается.

Почему так? Потому что числа с плавающей запятой придумывали для учёных, чтобы удобно пикофарады на теравольты умножать и сохранять значение в рамках погрешности.

Вот какой долбоёб их в JS как обычные числа взял - это вопрос открытый.
Аноним 18/07/21 Вск 20:36:10 25107954619
>>251078239 (OP)
>Не кидайте эти долбаебские статьи с хабра где снобы-авторы все усложняют какими-то математическими хуйнями
Иди нахуй даун.
Аноним 18/07/21 Вск 20:40:26 25107985420
image.png 120Кб, 620x581
620x581
image.png 29Кб, 769x464
769x464
image.png 375Кб, 1600x900
1600x900
image.png 13Кб, 770x320
770x320
Аноним 18/07/21 Вск 20:42:56 25108002021
Бамп
Аноним 18/07/21 Вск 20:43:55 25108007322
Бамп
Аноним 18/07/21 Вск 20:45:24 25108018223
>>251078239 (OP)
>1
Блять ну как ты в двоичном виде десятичное число сохранишь?
то что конечно в десятичной степени бесконечно в двоичной и наоборот (ну иногда нет если кратно). ...04 это просто погрешность
Аноним 18/07/21 Вск 20:46:58 25108029624
>>251080182
Переведи мне 0.4 в двоичный формат
Аноним 18/07/21 Вск 20:48:23 25108039425
Аноним 18/07/21 Вск 20:49:40 25108048826
>>251078908
Нахуй ты на этот тролинг ведешься? Ща эта ебенашка скинет как в его любимом хуйтоне или си шарпе о котормо ему на гикбрейнс рассказали, отображается как 0.3, и ему похуй что оно просто округляется визуально
Аноним 18/07/21 Вск 20:49:44 25108049327
21.PNG 21Кб, 805x538
805x538
22.PNG 22Кб, 807x533
807x533
>>251078239 (OP)
1) Дело такое: в памяти компика все данные представлены в двоичном виде, а дробное десятичное число при переводе из 10 в 2 форму будет почти всегда бесконечной дробью, которую в память компа не записать, поэтому и происходят ошибки, а компьютер пытается компенсировать эту проблему увеличение числа с 0.3 до 0.30000004.
Для примера попробуй на листочке перевести 0.3 из десятичной формы в двоичную и обратно по формуле. Вот 2 скрина что вышла на онлайн калькуляторе.

Вообще есть много способов решения этой проблемы.
Аноним 18/07/21 Вск 21:03:12 25108129728
>>251078618
Потому что 3.5 == 11 + 12 + 1 / 2, всё можно представить в качестве степеней двойки
Аноним 18/07/21 Вск 21:04:16 25108136229
Аноним 18/07/21 Вск 21:07:42 25108153830
1626631661347.jpg 204Кб, 847x847
847x847
>>251078239 (OP)
Жсеры, что с вами не так блять
Статейки на хабре и гугл уже осилить не можете
Аноним 18/07/21 Вск 21:11:50 25108177331
>>251081538
Не сравнивай тупого невкатыша пориджа и суровых жсеров.
Он когда до мутации дойдет жидко пукнет и выкатится если не смог ОП пост осилить.
Аноним 18/07/21 Вск 21:14:31 25108190132
16207124127440.png 1333Кб, 1507x1223
1507x1223
>>251079227
Земля тебе объектами, поридж, выбери язык попроще и тут я серьезно, без подъеба..
Аноним 18/07/21 Вск 21:18:01 25108208533
>>251081901
что может быть проще жабы сквирт?
мимо пишу читы на асемблере и си
Аноним 18/07/21 Вск 21:19:49 25108219234
>>251081773
омг, суровые жсеры... регистры тебе в анус..
Аноним 18/07/21 Вск 21:20:09 25108221235
>>251081773
>>251081901
Дегенераты, я давно пишу на JS, и эта хуйня как на оппосте там не нужно вообще, срыгните
Аноним 18/07/21 Вск 21:21:35 25108229136
>>251078346
Ебать, какая ёбаная жесть. Это просто античеловечно. Не зря программисты-пидарасы получают свои миллионы в месяц.
Аноним 18/07/21 Вск 21:21:39 25108229537
>>251078239 (OP)
Рыночек порешал, оказалось, что учить макак писать за еду на браузерной хуйне быстрее чем на нормальных языках.
Аноним 18/07/21 Вск 21:22:00 25108231238
Аноним 18/07/21 Вск 21:22:23 25108233239
>>251082085
sql. php. с1.
Сами языки проще, не считая пхп с его ооп, вкат быстрее, пориджи не рвутся один за другим пытаясь выучить язык по сложности схожий с джавой.

>>251082212
Если он не смог это осилить и понять, хотя ему в треде уже разжевали и он писал, что не понял, сможет ли он в самую простую архитектуру, сможет ли добавть функционал не сломал приложение? Я думаю нет.
Аноним 18/07/21 Вск 21:23:09 25108236540
>>251078239 (OP)
Вот JS-пидоры, ещё гонят на пхп господ, идите просто нахуй с таким говном. Пыха особенно после 7.2, это сам язык боженьки, именно для этого его и создали, что бы бог общался с нами. А вы говноеды сидите со своим забагованым говном в котором сами не могут разобраться уже столько лет.
Аноним 18/07/21 Вск 21:25:05 25108247641
>>251078239 (OP)
потому что 9999999999999999 > 2^53. Смекаешь? В случае JS нужно использовать BigInt
Аноним 18/07/21 Вск 21:26:18 25108253342
>>251082332
>Если он не смог это осилить и понять, хотя ему в треде уже разжевали и он писал, что не понял, сможет ли он в самую простую архитектуру, сможет ли добавть функционал не сломал приложение? Я думаю нет.
Хуйлуша тупая, я не говорю что не понял, мне просто нужно детальное объяснение, а не высер уровня "дроби бесконечные в двоичном формате"
Я давно пишу на JS и поддерживаю код, это вообще не связано с низкоуровневым дрочевом с плавающими числами
>>251082476
Я уже разобрался, максимальное безопасное число
Аноним 18/07/21 Вск 21:27:16 25108259343
Аноним 18/07/21 Вск 21:27:26 25108260344
>>251082332
Если дохуя умный, лучше ответь на третий вопрос
Аноним 18/07/21 Вск 21:28:07 25108262845
>>251082332
>sql
А оно опу сейчас надо? Пусть в процедурных языках разбирается
Аноним 18/07/21 Вск 21:33:42 25108292646
image.png 9Кб, 271x182
271x182
>>251080296
>переведи
мне не особо интересно это дрочить, вот тебе наглядно, это бесконечная дробь, думаю ты понял
Аноним 18/07/21 Вск 21:35:49 25108304747
>>251082533
Паразит ты, а не разработчик. Такие мрази как ты потом даблы сравнивают через ==, потому что не знают элементарных вещей.
Аноним 18/07/21 Вск 21:36:35 25108309948
>>251080296
то есть пошагово минус i-ю степень двойки прибавляешь на i-ом шаге итерации, так и не приблизившись в итоге к значению если оно не кратно
бля у меня не очень с математикой
>>251082926 кун
Аноним 18/07/21 Вск 21:37:16 25108314849
>>251083047
Не сравниваю, я не такой тупой. Пошел на хуй.
Аноним 18/07/21 Вск 21:40:54 25108335650
>>251081538
Да это какой-то особенно тупой, привыкли к тому, что жс позиционируют как язык для тупых и обсираются на областях замыкания и разницы между декларированием и выражением функции
Аноним 18/07/21 Вск 21:44:53 25108356651
>>251083356
>обсираются на областях замыкания и разницы между декларированием и выражением функции
Нет, соси хуй
Аноним 18/07/21 Вск 21:45:46 25108361452
>>251083148
>Не сравниваю, я не такой тупой.
>Ряя, сапДвч памахи, чому тута лишняя аря? чому тута тру, кагда ни тру!!!!
Аноним 18/07/21 Вск 21:45:55 25108362353
>>251078239 (OP)
Объясняю на пальцах. Арифметика js не выебывается и использует дробную арифметику процессора. Он двоичный, а еще в нем место для хранения чисел не резиновое.
Вспомнишь об этом когда дочитаешь следующее.

Допустим ты решаешь на листочке и место у тебя только на 4 знака после запятой. Сколько будет 1/3 х 3? Один, так?
А теперь запишем на листочке:
1/3 = 0.3333 (наш десятичный цпу не умеет в дроби, только в 0.1234e+N)
0.3333 х 3 = 0.9999
0.9999 не равно 1
Это пример обсера с ограниченной точностью.

Теперь вернись выше и осознай, что 1/10 в двоичном виде это такая же бесконечная дробь, как 1/3 или 1/7 в десятичном. Самые последние биты иногда округлены, поэтому в конце копится ошибка +-1.

Для вывода пользователю числа часто округляют до 14 десятичных цифр, чтобы скрыть ошибку (цпу может хранить до 16 цифр точно, до 18 неточно). Но конкретно консоль браузера и ноды не делают таких округлений при выводе, поэтому ошибка вылазит. Не делают потому что программисту лучше видеть ее, чем не видеть, ведь 0.1+0.2 != 0.3. Если обезьяна обосрется и будет использовать === или !== для дробных чисел в коде (есть способы неточного сравнения, они разные в зависимости от нужд и в язык не встроены).

>инб: почему в цпу не делают нормальные десятичные числа
Потому что они все равно будут ограничены в колве цифр и 1/3 х 3 обосрется как в примере выше. Какая разница где обсираться?
>инб: почему в js не сделают нормальные дроби или высоченную точность
Потому что (1) дроби это все еще не все числа, например результат sin(x) не является дробью для большинства иксов и будет копить ошибку. (2) это очень медленно и бессмысленно на практике. Проще манькам объяснить дабл пресижен фп, чем страдать всем миром из-за этого.
Аноним 18/07/21 Вск 21:55:18 25108399054
>>251078239 (OP)
>2)
Теперь прикинь, что у тебя в нашем цпу, который умеет только 0.1234е+N лежит число 12340. Как оно лежит там?
Вот так: 0.1234е+5
Ты хочешь прибавить 1, но 1 ложится в пятый несуществующий разряд и округляется.
Получается снова 0.1234е+5, т.е. 12340.
К этому числу можно прибавить только минимум 5, чтобы его изменить.
Аноним 18/07/21 Вск 21:56:39 25108405155
а почему это вообще важно? жс он же для свистелок и перделок на веб страничках, а не научных вычислений скорости уранового лома, брошенного в известное место.
Аноним 18/07/21 Вск 22:09:18 25108456456
Аноним 18/07/21 Вск 22:10:37 25108462157
Аноним 18/07/21 Вск 22:15:40 25108480858
Аноним 18/07/21 Вск 22:21:50 25108503559
1554623880171.webm 13936Кб, 1920x1080, 00:03:35
1920x1080
>>251078239 (OP)
Вот в этом видео есть ответы на похожий вопрос
Аноним 18/07/21 Вск 22:26:29 25108521260
image.png 14Кб, 660x206
660x206
>>251078239 (OP)
Лучше объясните, какого хуя меняется массив животных
Аноним 18/07/21 Вск 22:29:16 25108532961
>>251085212
И почему count не равняется точно такому же массиву, а выводит четверку, что за сатанизм бля
Аноним 18/07/21 Вск 22:29:50 25108535462
>>251085212
Це они массивом вектор называют.
Аноним 18/07/21 Вск 22:30:56 25108539163
>>251078239 (OP)
>3) Почему если число увеличивается, то он приобретает вид экспоненциальной записи, например: "1e+25"?
короче запись, меньше памяти занимает
/thread
Аноним 18/07/21 Вск 22:31:37 25108541364
>>251078239 (OP)
>3) Почему если число увеличивается, то он приобретает вид экспоненциальной записи, например: "1e+25"?
короче запись, меньше памяти занимает
/thread
Аноним 18/07/21 Вск 22:32:15 25108544265
>>251085354
Шо це за вектор, я просто второй день в пограммировании, объясни зеленому
Аноним 18/07/21 Вск 22:43:45 25108589566
>>251078908
Поздно увидел ответ, но твой комментарий меня заинтересовал, я сам увлекаюсь математикой, но каким образом 0.(9) имеет те же свойства, что и 1? Давай предположим, что у нас есть множество от 0 до 0.(9), и оно ограниченно сверху, у нас в данном случае 1 будет супремумом нашего множества, то есть наименьшем элементом ограничивающего множества, откуда получается что у них разные свойства, и конечно же не равны.
Аноним 18/07/21 Вск 22:44:05 25108591167
>>251083566
Ну давай, в чем разница между декларацией и функциональным выражением?
Аноним 18/07/21 Вск 22:44:14 25108591568
Аноним 18/07/21 Вск 22:56:02 25108634769
>>251078239 (OP)
> 1
Какие же вы программисты тупые, лол блять. 0.1+0.2 у них не 0.3 получается.
Блять лоол я хуею, и они это еще оправдывают и защищают, и объясняют, почему так. Понятно теперь, почему все говно, написанное на javs, js такое медленное, глючное и багованное.
Аноним 18/07/21 Вск 22:59:56 25108648870
>>251078239 (OP)
> Нигде в русском инете не нашел детального объяснения кроме "ну там процессор, хуе мое, бесконечная дробь, там". Не кидайте эти долбаебские статьи с хабра где снобы-авторы все усложняют какими-то математическими хуйнями
А потом такие лендингошлёпы приходят на собесы и говорят, что они йоба-синьоры с желаемыми 300кк/нс
Аноним 18/07/21 Вск 23:00:28 25108649971
>>251078239 (OP)
>Нигде в русском инете
ну всё, можешь закругляться, погромирование не твоё
Аноним 18/07/21 Вск 23:04:13 25108663072
>>251085895
По определению. По памяти, объяснение примерно такое, посколько всегда можно дописать девятку, то между 0.(9) и 1 невозможно всунуть ни одно число.
Аноним 19/07/21 Пнд 00:14:10 25108929373
>>251086347
Ебанашка, так работает любой процессор с фп на ieee754. И кресты, и сишка, и ява, и любая хуява так работает, потому что это нативные числа цпу. Это двоичная арифметика с ограниченной точностью. Ты просто манька, которая впервые увидела что-то кроме десятичного счета на палочках и подорвалась по левой причине, не поняв сути.
Эти числа не предназначены для точных вычислений, точность это очень дорого, просто не все макаки это понимают и думают, что у них там числа как в школе. Если тебе нужны точные вычисления в каком-то домене, ты берешь либу для этого домена и вычисляешь на ней. Целые числа до 2 в степени 64 есть в цпу бесплатно, выше пакет bigint. Числа с плавающей точкой с ограниченной точностью тоже бесплатно, выше пакет bignum. Если для задачи хватит рациональных, берешь пакет rational. Если нужны иррациональные (а это вся геометрия), то ты в жопе, и ты берешь пакет символьной алгебры, который оперирует не дробями, а формулами (типа маткада) и за пиздец дорого ебически слодными алгоритмами может считать любую хуйню до любой нужной точности. Но уже не за наносекунды, а за миллисекунды. Программирование и железо это постоянные торги с реальностью, если бы их не совершали, а делали «как у людей», то у тебя бы не было ни жта, ни доты, в которых ты так силен раковать.
Аноним 19/07/21 Пнд 00:22:32 25108962574
>>251082312
Есть BigDecimal (в жабе, хз что у вас там в JS), там всё просто и понятно, да и без потери точности, только сука медленно. Поэтому используется только для денежных сумм.
Аноним 19/07/21 Пнд 00:24:55 25108971175
>>251078239 (OP)
Заебали своими программерскими смузихлебными топиками мой б забивать

На вот держи и читай https://0.30000000000000004.com/

Как закончишь - постарайся больше не трогать компьютер, оно тебе не надо.
Аноним 19/07/21 Пнд 00:30:28 25108990276
>>251082291
Идиот ебаный, это даже не программирование, это буквально школьный курс информатики. Кто виноват, что ты на уроках играл в телефон или ваш даун-препод вместо учебника полякова проходил с вами пеинт.
Аноним 19/07/21 Пнд 00:43:56 25109038277
>>251078239 (OP)
Тред не читал, классический труд Голдберга ещё не постили?
https://www.itu.dk/~sestoft/bachelor/IEEE754_article.pdf

>>251089902
>Кто виноват, что <..> ваш даун-препод <..> проходил с вами пеинт
Ну уж всяко не анон, лол. Я, например, в своём скверном школьном образовании (или, скорее даже, в его полном отсутствии: доставшаяся мне в конце девяностых преподня и с имитацией-то образования толком не справлялась) безо всякой иронии виню ЦРУ и план Даллеса.
Аноним 19/07/21 Пнд 00:44:13 25109039678
>>251078239 (OP)
В крации - потому же, почему ты не можешь записать 1 / 3 десятичной дробью.
/thread
Аноним 19/07/21 Пнд 00:55:36 25109078379
>>251090382
>безо всякой иронии виню ЦРУ и план Даллеса.
Если бы был образован - знал бы что план Даллеса - это миф.
Аноним 19/07/21 Пнд 01:13:42 25109137780
>>251078239 (OP)
ieee754 дважды упомянут в треде, горжусь анонами. оп - фронтендер, гоните его, насмехайтесь над ним.
Аноним 19/07/21 Пнд 01:24:49 25109172781
Аноним 19/07/21 Пнд 01:29:32 25109187182
>>251078239 (OP)

>1) Почему 0.1 + 0.2 === 0.30000000000000004
Потому что дроби в двоичной системе представляют сумму из дробей с единицей в числителе и степенью двойки в знаменателе.
Например, 0.1 = 1/16+1/32+1/256+1/512+1/4096+1/8192+1/65536 + ... и там ещё дохуя разрядов, долго считать.
Аналогично, 0.2 = 1/8+1/16+1/128+1/256+1/2048+1/4096+1/32768+1/65536 + ...
Если ты сложишь эти дроби, то круглого числа ты уже не получишь.

Аноним 19/07/21 Пнд 01:36:29 25109213483
>>251086347
class сосиХуйБыдло extends твояМамка {
constructor(петух, закукарекал) {
this.петух = "ты";
this.author = петух;
this.post = закукарекал;
}

pokPok = (`говна наверни`) => {
return `${this.петух} ${this.author} ${this.post}`;
}
}

сосиХуйБыдло.pokPok(`просто`, `иди нахуй`);
Аноним 19/07/21 Пнд 01:41:05 25109231284
>>251092134
class твояМамка {
ктоОна = (тупаяПизда) => {
return тупаяПизда;
}
}

твояМамка.ктоОна(`Шлюха`);
Настройки X
Ответить в тред X
15000
Макс объем: 20Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
X
Ваш шидевор X
Стикеры X
Избранное / Топ тредов