Откуда в программах неточные числа

  Рет қаралды 351,856

Виссен

Виссен

Күн бұрын

Видео про питон: • Основы алгоритмов ч.1 ...
Видео про системы счисления: • Системы счисления и ка...
Весь код из видео: pastebin.com/yqyBXUZg
00:00 Вступление
01:11 Экспоненциальная запись
03:06 Как float хранится в памяти компьютера
06:14 Ответ на вопрос из названия видео (наконец-то!)
07:38 Как это исправить
08:01 А зачем вообще float?
#IEEE-754 #float #плавающей
__________________________
Пожертвования: www.donationalerts.ru/r/jamato
Автор: yami_san
Заметил критическую ошибку в видео: Бабушка Вова
Обработка аудио: thezanuda
Сообщество В Контакте: showfriends

Пікірлер: 398
@shuriduridu2098
@shuriduridu2098 2 жыл бұрын
То самое видео, которые смотрят в 3 часа ночи
@oliwwateatwonan1321
@oliwwateatwonan1321 2 жыл бұрын
Не знаю не знаю, у меня 3: 22 ))))
@ivanberezhanskyi
@ivanberezhanskyi 2 жыл бұрын
В час ))
@MrKn1az
@MrKn1az 2 жыл бұрын
2:05
@user-tm2yb2se7j
@user-tm2yb2se7j 2 жыл бұрын
04:59
@yuno8533
@yuno8533 2 жыл бұрын
В два часа 🤔
@futakomori
@futakomori 2 жыл бұрын
То есть, всё видео можно заменить фразой: потому что некоторые десятичные числа в двоичной системе - периодические дроби, которые не влезают в память =)
@naumprihodyaschy8629
@naumprihodyaschy8629 2 жыл бұрын
спс
@user-ky6hb6ih9c
@user-ky6hb6ih9c 2 жыл бұрын
Так понятнее) чем на видео
@holy2785
@holy2785 2 жыл бұрын
Хах, а реально, всю суть ролика понял только после твоего коммента)
@futakomori
@futakomori 2 жыл бұрын
@@holy2785 ну, всё же без видео эта фраза будет не всем понятна!
@gigabytetrash6304
@gigabytetrash6304 2 жыл бұрын
@@futakomori кому? детям лет 4-5?
@nyashkov
@nyashkov 2 жыл бұрын
Ничего не понимаю, но такие видео должны быть в топе, потому что вот как раз это - прекрасный контент!
@WissenYT
@WissenYT 2 жыл бұрын
Спасибо
@user-tm8ej8st6l
@user-tm8ej8st6l 2 жыл бұрын
Когда взял в кредит 1.1 биткоина и 2.2 биткоина получил 3.3000000003 биткоина и и стал миллиардером
@neckrontir
@neckrontir 2 жыл бұрын
И нада аддавать кридит и с працэнтами ты должэн 4 биткоина
@o3ohno123
@o3ohno123 2 жыл бұрын
@@neckrontir и произошла ошибка в системе, и ты должен отдать 40btc
@user-tm8ej8st6l
@user-tm8ej8st6l 2 жыл бұрын
@@neckrontir кредит без процентов при возвращении до определенного момента
@user-ij4qs7ju1y
@user-ij4qs7ju1y 2 жыл бұрын
@@neckrontir И надо отдавать Кредит и с процентами ты должен 4 биткоина* (КУЧА ОШИБОК)
@neckrontir
@neckrontir 2 жыл бұрын
@@user-ij4qs7ju1y я не руский
@user-ue8bh7tj5k
@user-ue8bh7tj5k 2 жыл бұрын
Поэтому для банковских приложений программисты не доверяют вычисления языку программирования. Обычно есть специальные библиотеки/модули для таких дел. Ну и используют строгую типизацию.
@cyberwaldemar
@cyberwaldemar 2 жыл бұрын
Для них есть особые типы, decimal, например, которые построенны на цельночисельных типах
@tin-slayer-3368
@tin-slayer-3368 2 жыл бұрын
@@endlessvd нихера, ты токсик, удачи в жизни
@user-df8fm5kf2u
@user-df8fm5kf2u 2 жыл бұрын
Ещё бы они не продумали такое. Грамотный прогер из спортивного интереса бы скриптами обанктротил систему.
@murzikban
@murzikban 2 жыл бұрын
@@endlessvd а твой вообще нет, дегенерат обиженный, совершивший правонарушение
@nemanimation7986
@nemanimation7986 2 жыл бұрын
@@endlessvd в твоей маме я есть)
@gray-p7681
@gray-p7681 2 жыл бұрын
В конце видео: "На этом всё. Вообще всё!". И мир коллапсирует. Спасибо за видео, было интересно ゚+(人・∀・*)+。♪
@user-fh7ek1cy9n
@user-fh7ek1cy9n 2 жыл бұрын
Думаю для студентов которые идут на какие-то специальности по типу программиста видосы будут очень полезны А мне для понимания видоса приходится вспоминать школьный курс информатики Кстати прикольно и понятно объясняешь
@user-tc4qb3uz8g
@user-tc4qb3uz8g 2 жыл бұрын
Блин, я немного знаю питон, но даже так мне кажется что он говорит что то на эльфийском.
@user-fh7ek1cy9n
@user-fh7ek1cy9n 2 жыл бұрын
Ахахах, смойся...
@user-fh7ek1cy9n
@user-fh7ek1cy9n 2 жыл бұрын
@@endlessvd аааа, ты байтер, ну давай иди дальше все равно аудиторию нормальную так не набрать
@neongex7167
@neongex7167 2 жыл бұрын
@@endlessvd Ты только ругаться можешь мелкий аут?
@user-fh7ek1cy9n
@user-fh7ek1cy9n 2 жыл бұрын
@@endlessvd ахаха, можешь пытаться ещё но сразу понял что ты недолëкий байтер...
@vladfinni6797
@vladfinni6797 2 жыл бұрын
поздравляю с взлетевшим видосом) и это не перевод какой то, это твой контент!
@youwannarock
@youwannarock 2 жыл бұрын
Ты правда красавчик. Мало того, что ты пишешь крутые и понятные видосы, так ещё и стал для меня примером целеустремленности. Никогда не сдавайся и я не буду! Спасибо
@tierpraines585
@tierpraines585 2 жыл бұрын
Поддерживаю!!!
@LobanovSpace
@LobanovSpace 2 жыл бұрын
+
@WissenYT
@WissenYT 2 жыл бұрын
Я внимательно посмотрел на алгоритм хеширования сети BItcoin (SHA256), и мне вообще не хочется о нём рассказывать... Особенно потому, что для понимания его работы людям понадобится второе скучное сухое двадцатиминутное видео про Питон, где надо было бы объяснить массивы, циклы и классы. Которое никто не будет смотреть. Уиии...
@roazanas
@roazanas 2 жыл бұрын
Я буду
@user-gd3ru5mt6e
@user-gd3ru5mt6e 2 жыл бұрын
И я
@petrvolynsky2523
@petrvolynsky2523 2 жыл бұрын
Я буду
@rubberducky807
@rubberducky807 2 жыл бұрын
👀
@simplegamer6660
@simplegamer6660 2 жыл бұрын
Пили давай! У тебя слишком хорошо получается контент такого рода
@erik32norma
@erik32norma 2 жыл бұрын
30 лет, калькулятор был игрушкой в детстве. У тётушки даже были советские калькуляторы от розетки 220В работающие. Класса с 5-6-го букву Е всегда считал "ошибкой(error).
@erik32norma
@erik32norma 2 жыл бұрын
До этого видео. Вывод: век живи - век учись.
@ngwaut
@ngwaut 2 жыл бұрын
Я СНОВА НАШЕЛ ЭТОТ КАНАЛ! ДААААА!
@KavoiSho
@KavoiSho 2 жыл бұрын
Залпом просмотрел весь цикл роликов. Ждём дальше:)
@piratediary1525
@piratediary1525 2 жыл бұрын
А так вот почему это происходит . Спасибо, теперь всё встало на свои места . Так держать ! :)
@werupass1337
@werupass1337 2 жыл бұрын
Ого, как то я и не заметил как видео выстрелило Ну чтож, поздравляю, Евген!
@WissenYT
@WissenYT 2 жыл бұрын
Да там ваще! На видео про триггер со свиньёй уже 100к просмотров.
@werupass1337
@werupass1337 2 жыл бұрын
@@WissenYT интересно, сколько гривень могло бы быть, будь монетизация включена. 2-3К?
@antonkalashnikov6215
@antonkalashnikov6215 2 жыл бұрын
У тебя отличные видео, а идея рассказать про майнинг биткойна "с нуля" вообще офигенная. Keep up the good work!
@user-mr9lg9vr9s
@user-mr9lg9vr9s 2 жыл бұрын
@@the_hhhh тогда почему он не вскидывает руку в небо и не кричит слава Руси? выписываем
@user-kw5dr8iv3j
@user-kw5dr8iv3j 2 жыл бұрын
На 10 лет только опоздал с битком
@ersh4529
@ersh4529 2 жыл бұрын
На самом деле, очень удобно и полезно мне, как ученику физ.инф. класса! Делай больше Видосов, они крутые!
@StefanEtre
@StefanEtre 2 жыл бұрын
Это суперкруто! Спасибо огромное за эти потрясающие видео об алгоритмах и программировании. Я очень жду твоих следующих видео на эту тематику!
@badmotherfacka
@badmotherfacka 2 жыл бұрын
Круто! Ждём курс по Python от тебя 😀
@soviertheman5392
@soviertheman5392 2 жыл бұрын
Мне стало интересно, а как представлен 0? Если мантисса начинается с единицы
@WissenYT
@WissenYT 2 жыл бұрын
Чёрт, это гениальный вопрос. Кажется, в стандарт заложен особый случай для нуля. Когда вообще всё нули вместо крошечной степени двойки получается ноль.
@allozovsky
@allozovsky 2 жыл бұрын
Там ещё много нюансов: и мантисса не всегда начинается с единицы (т.н. _денормализованные_ числа), и нуля два (положительный и отрицательный), а также две бесконечности (со знаком) и два значения NaN (qNaN и sNaN).
@soviertheman5392
@soviertheman5392 2 жыл бұрын
@@WissenYT , как сказал мой препод по архитектуре, всё зависит от реализации в самом процессоре, что-то вроде: если ячейка не определена, как плавающее число, то в ней ноль
@BikeNatureExplorer
@BikeNatureExplorer 2 жыл бұрын
@@soviertheman5392 кажется, вы проходили архитектуру бассейнов в банковских отделениях
@user-sj5dm2di1m
@user-sj5dm2di1m 2 жыл бұрын
Я ничерта не смыслю в математике и почти столько же в программировании. Так что я ничего не понял, но мне было очень интересно
@Adrian_Reed
@Adrian_Reed 2 жыл бұрын
Давно задавался этим вопросом! Спасибо за объяснение! А то во время работы в Unity иногда вместо координат без запятой получались значения вроде 3.9999999999988
@rusfungame
@rusfungame 2 жыл бұрын
Джаваскриптерам привет. пхпшникам соболезную
@NeeProgram
@NeeProgram 2 жыл бұрын
Привет, Виссен! Был крайне опечален тем, что более этот канал не будет связан с минуткой земли и боялся, что канал скатится во что-то унылое и неинтересное. Хотя, вероятно, для какой-то части аудитории это так. Но я крайне рад, что так сложилось, что мои интересы перекликаются с направлением канала. Спасибо большое за труд. P.S. Ты упоминаешь, что твои ролики унылые, но если брать за ЦА тех, кто +- связан с направлением, то твои ролики как глоток свежего воздуха в сравнении с 2часовыми лекциями с унылыми примерами и спящим лектором в преклонном возрасте. Чувство, что именно такого наставника я ждал всю свою жизнь. хаха P.S.S Привет из JavaScript c ` 0.1 + 0.2 !== 0.3 `
@WissenYT
@WissenYT 2 жыл бұрын
Не-не, всё в порядке, я скатился
@ivanberezhanskyi
@ivanberezhanskyi 2 жыл бұрын
7:51 оу мэн я чуть не кончил от такого произношения ))
@Polar4ikDev
@Polar4ikDev 2 жыл бұрын
200 тысяч просмотров поздравляю
@try2fly
@try2fly 2 жыл бұрын
приятный блин видос. клево
@ziral0
@ziral0 2 жыл бұрын
Надеюсь оговорка на "вообще все" не относится ко всему каналу. Надеюсь найдешь ещё какие-нибудь интересные темы. Насчёт Биткойна тема неплохая, просто так много где уже ее объяснили, что хз (это мое мнение, кто не смотрел думаю зайдет)
@ziral0
@ziral0 2 жыл бұрын
@@endlessvd Даа, походу тебя кто-то сильно обидел, и ты решил выплеснуть свою злость в комментах. Я тебе так скажу, пунктуация стоит намного ниже, чем уважение, вежливость и человечность. (тем более логические запятые расставлены, читать текст не составляет проблем, а это именно то, для чего нужны запятые)
@WissenYT
@WissenYT 2 жыл бұрын
@@ziral0 давай я его забаню просто
@VeiaG
@VeiaG 2 жыл бұрын
Очень интерестно слушать
@sonik7452
@sonik7452 2 жыл бұрын
Я никоим образом не программист, но технарь. Однако, было интересно.
@allozovsky
@allozovsky 2 жыл бұрын
Предположим, мы включили поддержку float64 из numpy >>> from numpy import float64 и определили следующие переменные >>> a = float64(0) >>> b = 1/a >>> c = b**a Чему будут равны их значения >>> [a, b, c] и внутреннее представление?
@hel1ks
@hel1ks 2 жыл бұрын
Интересное видео, мне понравилось
@jennycat8089
@jennycat8089 2 жыл бұрын
Ну вот, твои видео интересные, ничуть ни хуже минутки земли
@danissimus6732
@danissimus6732 2 жыл бұрын
случайно наткнулся на это видео, оно меня сразу заинтересовало. Видео очень понравилось, я сразу подписался
@user-ki7dk7qp3m
@user-ki7dk7qp3m 2 жыл бұрын
Спасибо! Ничего не понял но очень интересно
@user-ki7pr9jl1n
@user-ki7pr9jl1n 2 жыл бұрын
Комментарий для поддержания автора ааа ааа ааа ааа ааа ааа
@arckadyp5643
@arckadyp5643 2 жыл бұрын
Вот не думал, что в двоичной системе тоже есть дроби с периодичным ответом. Не зря пол видео останавливал себя чтобы не выключить его.
@fridrihfeldshtawn
@fridrihfeldshtawn 2 жыл бұрын
Крутое видео
@aimakecontent
@aimakecontent 2 жыл бұрын
Для меня питон это змея, но так как пора спать и завтра рано вставать, обязательно посмотрю видос и вникну в тему.
@Andrei_Shtirletz
@Andrei_Shtirletz 2 жыл бұрын
после этого видео надо смотреть как лечить удава)
@user-uw1uw5kd5d
@user-uw1uw5kd5d 2 жыл бұрын
Вопрос. Зачем нужен "костыль" с модулем для коррекции точности, если его необходимо было встроить в язык де-факто? То-есть разработчики языка намеренно встроили в вычислительные алгоритмы ошибку чтобы что?...Если это сейчас не нужно, то необходимо исключить ошибку из языка.
@sudoer4349
@sudoer4349 2 жыл бұрын
Да заткнись ты
@bvpanchenko
@bvpanchenko 2 жыл бұрын
для научных вычислений, например, до сих пор работают с 32-битными числами с плавающей запятой, память меньше, операция выполняется быстрее, огромная точность не нужна, ибо погрешности
@user-uw1uw5kd5d
@user-uw1uw5kd5d 2 жыл бұрын
@@bvpanchenko Но всё равно получается расхождение, если расчёт выполняется "в столбик" на бумажке или на компьютере. Ты округляешь 0,5 в большую сторону, а компьютер в меньшую, а потом оказывается, что эти 0,5 в его памяти содержатся, как 0,49. И это несистемно, потому что 1,5 может храниться в памяти как 1,51 и она будет округляться до 2. Получается, что перед тем, как писать алгоритмы расчётов, нужно ещё предусмотреть алгоритмы коррекции, и в результате мы теряем время и дополнительную память. То-есть мы не может взять язык программирования и использовать базовый функционал даже для созданий калькулятора, потому что он не будет выдавать верный результат.
@bvpanchenko
@bvpanchenko 2 жыл бұрын
@@user-uw1uw5kd5d 1.51 - может не округляется до 2х если что, зависит от типа округления. 1/3 пожалуйста запиши в виде десятичной дроби. Проблему все знают, и что ты предлагаешь делать ? Всякий Decimal - накладные расходы как на память так и на ЦПУ. То есть вы сами выбираете когда какой тип данных использовать, исходя из поставленной задачи
@bvpanchenko
@bvpanchenko 2 жыл бұрын
@@user-uw1uw5kd5d По поводу "пишут коррекции", не уверен что из пишут, только при сравнении берут диапазон
@barcek2281
@barcek2281 2 жыл бұрын
привет Виссен, помнишь свое видео про двоичную логику? Ну конечно да, так вот благодаря тебе у по информатике все оценки ПЯТЬ, но одно проблема меня записали на олимпияду. Спасибо тебе за твои видео и не мог бы сделать видео про решение задач из олимпиады? А так спасибо что объясняешь доступно.
@rawil6751
@rawil6751 2 жыл бұрын
print("F")
@awertyhiop
@awertyhiop 2 жыл бұрын
Куча инфы которая мне вряд ли понадобится
@deacbeugene
@deacbeugene 2 жыл бұрын
Потому что переменные должны быть типизированы и обрабатываться нормальными библиотеками. Особенно в эру терабайтов памяти и диска.
@allozovsky
@allozovsky 2 жыл бұрын
Методов хранения произвольных действительных чисел не существует в принципе (вне зависимости от объёмов памяти и диска), поэтому арифметика с ограниченной точностью - вынужденный компромисс. Более того, _почти все_ действительные числа _невычислимы,_ т.е. не существует алгоритма для их вычисления с произвольной точностью (хотя это уже имеет косвенное отношение к вопросу, но факт остаётся фактом: вероятность того, что мы сможем вычислить с заданной точностью произвольно выбранное действительное число, равна нулю).
@user-dj9ot5cv7e
@user-dj9ot5cv7e 2 жыл бұрын
Красава!!!
@mrguy1089
@mrguy1089 2 жыл бұрын
Непонятно но интересно, надо бы как то понять
@user-cw9xf7ft6x
@user-cw9xf7ft6x Жыл бұрын
Напишите программу на языке Паскаль, а также постройте блок-схему алгоритма для решения следующей задачи: Вычислить среднее арифметическое всех положительных значений функции y(x) = x3 + cos4x, на промежутке [-2; 2] с шагом h = 0.2.
@muratbolat
@muratbolat 2 жыл бұрын
Спасибо за труд. Успехов вам. Ура реклама.
@variator111
@variator111 2 жыл бұрын
Тут писали, что де в сети уже есть полно видео про биткоин. На мой взгляд, нет ни одного, внятно объясняющего принцип работы.
@user-vx2kh1wf9v
@user-vx2kh1wf9v 2 жыл бұрын
У него много принципов - майнинг (нахождение подходящего блока) отдельно, связность блоков (ссылки на предыдущие блоки) и дерево транзакций в блоке отдельно, граф транзакций (стыковка входов транзакции с выходами предыдущих транзакций) отдельно, эллиптическая криптография (подпись транзакций) отдельно. Внятность зависит от того, какой именно нюанс вас интересует. Если всё сразу - в любом случае придётся самостоятельно по частям воспринимать, а это долго (чудес не бывает, увы). Впрочем, дорогу осилит идущий :)
@variator111
@variator111 2 жыл бұрын
Даже после этого перечисления стало понятнее чем после некоторых роликов. Как пример доступного объяснения для меня - статья на Мичурин.нет про RSA шифрование.
@user-tl2gm5mj1i
@user-tl2gm5mj1i 2 жыл бұрын
Просто ахренеть как всё запутанно. Тот кто изобрёл эту хрень- раньше людей пытал,- неужели нельзя как то проще выдумать чонить.
@tpu_kota2009
@tpu_kota2009 2 жыл бұрын
На самом деле людей пытали авторы стандартов на электронную почту. Они решили, что только 7 бит из 8 могут кодировать символ. В итоге, письма можно было посылать только на английском. И до сих пор так. Чтобы отправить письмо на китайском или русском, его текст превращается в ту еще кашу из 7-ми битных знаков...
@telovischen2939
@telovischen2939 2 жыл бұрын
Всё очень понятно. Дело ясное, что дело тёмное... 😁
@Just_A_Person_404
@Just_A_Person_404 2 жыл бұрын
Когда решил посмотреть ролики про программирование, но не шаришь за программирование
@sultanaliibraimov8241
@sultanaliibraimov8241 2 жыл бұрын
Эхх,давно я на тебя не заходил.с тех времен когда ты ещё делал перевод одного канала
@jenua_2
@jenua_2 2 жыл бұрын
Точно, а я сейчас наткнулся на этот видос, увидел знакомый канал и никак не мог вспомнить, откуда я его знаю
@Nakama04
@Nakama04 2 жыл бұрын
О о о видос
@wwlb4970
@wwlb4970 2 жыл бұрын
Чесгря проблема в современном виде несколько надумана - связка мантисса-экспонента и типы данных вроде BigDecimal или Currency решают эту проблему в 100% более-менее внятных программ, требующих точности и не требующих скорости. А где нужна только скорость численных методов, там вообще сплошные хаки, типа Quake III Q_sqrt
@allozovsky
@allozovsky 2 жыл бұрын
О, да - это знаменитое i = 0x5f3759df - ( i >> 1 ); // what the fuck? вычисляющее обратный квадратный корень (*интересно, пропустит ли нейросеть KZbin этот комментарий*)
@petrvolynsky2523
@petrvolynsky2523 2 жыл бұрын
Учусь сейчас на промэлектронике, очень помогают эти видео. Афтар пили исщо
@alexkuznetsov4254
@alexkuznetsov4254 2 жыл бұрын
У вас очень хороший голос. Вспоминаю, как вы переводили минутку земли.
@natharla
@natharla 2 жыл бұрын
Не шарю в этих делах, но есть такой вопрос: а вообще технически возможно хранить рациональные числа не в виде десятичных (двоичных) дробей, а в виде натуральной дроби? Ну и при желании придумать отдельную операцию для иррациональных чисел? И будет ли, если возможно, такое рентабельным?
@WissenYT
@WissenYT 2 жыл бұрын
Хранят как два целых числа, я как раз в конце упомянул as integer ratio
@viktorskobeliev1664
@viktorskobeliev1664 2 жыл бұрын
можно, но такие операцию будут медленнее обычных.
@DaDescriptor
@DaDescriptor 2 жыл бұрын
Самый лучший экранный диктор для учебника 56 класса
@QwertyQwerty-uh1cq
@QwertyQwerty-uh1cq 2 жыл бұрын
Виссен, касательно запрета на публикацию выпусков "минутка земли". Разрешение на перевод получили Vert Dider. Однако дайдер просили разрешение на "минутку физики", что они в итоге и переводят, но ни одного видео из минутки земли. То есть на запрос перевода одного канала они дали добро на оба. Если объяснить им это, можно всё-таки вернуть право на выпуск роликов. Копию письма с разрешением можно найти по ссылке в конце описания любого ролика дайдера.
@WissenYT
@WissenYT 2 жыл бұрын
Что? Я общался с ними, и они вроде бы переводят Минутку Земли спокойно.
@QwertyQwerty-uh1cq
@QwertyQwerty-uh1cq 2 жыл бұрын
@@WissenYT Да, вижу. На самом канале дайдеров их нет, вот и подумал, что оно так есть. Не посмотрел, что они вывели это всё на отдельный канал, а в плейлисте на основном только Минуту Физики оставили.
@YotalaQim
@YotalaQim 2 жыл бұрын
Мне нравится.
@svetlanac.2386
@svetlanac.2386 2 жыл бұрын
Я то помню старые времена про минутку земли ...
@sargischshmarityan9657
@sargischshmarityan9657 2 жыл бұрын
Я понял, вот только вопросик остался, ну с 1.15 это понятно, перидческое число и всё такое. Я однажды написал калькулятор на C# (надеюсь большой разницы нету) и даже такая более менее простая операция как 12-0.2 давало такой же результат, а конкретно неточность, но в чём проблема числа 0.2? Она тоже периодическая?
@allozovsky
@allozovsky 2 жыл бұрын
Да, в двоичной системе счисления число 0.2 = 1/5 = 3/15 = 0.(0011)₂ записывается в виде периодической дроби. Конечными будут только несократимые дроби со знаменателями, равными степеням двойки: 0.5 = 1/2 = 0.1₂, 0.25 = 1/4 = 0.01₂, и т.д.
@sargischshmarityan9657
@sargischshmarityan9657 2 жыл бұрын
@@allozovsky Спасибо большое за информацию!
@user-pm2te4qr1f
@user-pm2te4qr1f 2 жыл бұрын
@@allozovsky Интересно, а 1/3 в какой системе не будут бесконечной дробью?
@allozovsky
@allozovsky 2 жыл бұрын
@@user-pm2te4qr1f В той, основание которой делится на 3: 1/3 = 0.1₃ (троичной) = 0.2₆ (шестеричной) = 0.3₉ (девятеричной) = 0.4₁₂ (и так далее) = 0.C₃₆ (10 цифр + 26 букв)
@user-pm2te4qr1f
@user-pm2te4qr1f 2 жыл бұрын
@@allozovsky круто, получается можно такие дроби просто записывать в другой системе и никакой бесконечности
@user-pg6gm2yu2i
@user-pg6gm2yu2i 2 жыл бұрын
Топ
@qurad9255
@qurad9255 2 жыл бұрын
Посмотрел видео, но ничего не понял, но понял, как питон не правильно вычисляет
@volodimirsci
@volodimirsci 2 жыл бұрын
Гораздо интереснее вопрос - откуда в компьютере сопроцессор !
@akvlad90
@akvlad90 2 жыл бұрын
Ну дробные числа в "традиционных" float-ах вполне есть зачем хранить, если вы хотите, чтоб приложение не совсем тупило и не вешало компы пользователей (как современный клиент фейсбука например). Так что по моему опыту всякие Decimal и BigInt реже используются, (как раз когда нужна большая точность дробных чисел, а это редкие случаи). А ещё я на 4:01 увидел кусок кода на питоне интересный. Всякие стракт_анпэки, итераторы. Что это он там такое дееелает? :D Реквестирую следующее видео об этом!
@Jamato-sUn
@Jamato-sUn 2 жыл бұрын
Понятия не имею, что он делает.
@asumptio
@asumptio 2 жыл бұрын
@@Jamato-sUn С чего ты решил, что вопрос был тебе?
@user-vx2kh1wf9v
@user-vx2kh1wf9v 2 жыл бұрын
struct_pack выдаёт байтовую последовательность числа number в формате числа с плавающей точкой, struct_unpack перетрактовывает эту последовательность в виде целого числа (int_pack), у результата берётся нулевой элемент ([0]; т.к. struct_unpack возвращает tuple), целое число конвертируется в строку со своим двоичным представлением (bin), от него отрезается префикс "0b" ([2:]), строка с двоичным представлением дополняется слева нулями до длины bits (rjust). По этой строке формируется итератор bin_iter. В следующей строке кода формируется возвращаемый из функции массив, в котором будут подстроки из вышесформированной двоичной строки с длинами 1, exponent_bits и mantissa_bits соответственно (bin_iter в процессе пробегания иксом значений (1, exponent_bits, mantissa_bits) и формирования очередной подстроки-элемента результирующего массива смещается каждый раз на соответствующее значение).
@vloboo
@vloboo 2 жыл бұрын
Было бы интереснее, если бы показала деление с восстановлением остатка и без него
@redaimid
@redaimid 2 жыл бұрын
чувствую себя стримершой из мема -сложна! сложна!
@Mercury13kiev
@Mercury13kiev 2 жыл бұрын
Расскажу, почему используют такие неточные числа. Потому что в науке и технике числа - представьте себе - неточные! Ведь они приходят с измерительных приборов и датчиков, и неточность в семь или пятнадцать знаков - это мелочи по сравнению, например, с тремя знаками с датчика. Если же нужен точный формат - есть та самая длинная арифметика.
@debilich853
@debilich853 2 жыл бұрын
Вау, первое видео у тебя, в котором я нихрена не понял. Так держать!
@piratediary1525
@piratediary1525 2 жыл бұрын
Чел если ты что-то не понял посмотри видео о которых говорил автор , а потом пересмотри это
@2rookawa
@2rookawa 2 жыл бұрын
«Тратить лишний бит на знак порядка никто не хотел» звучит так, словно здесь экономится бит (как это происходит с мантиссой). На самом же деле смещённый порядок ничего не экономит - на отличие отрицательных порядков от положительных всё равно нужен бит информации. Смещённый порядок лишь упрощает выполнение операций над порядками. Например, логика сравнения двух порядков становится проще. Пока у нас есть отдельный знаковый бит, нужно по-разному сравнивать отрицательные порядки и положительные (в двоичном представлении). А при смещённом порядке любой порядок можно рассматривать как положительный.
@2rookawa
@2rookawa 2 жыл бұрын
А если ещё углубиться, то обнаружится, что сэкономленный -0 не даёт дополнительной точности даже на одну единицу. Как раз одно из значений порядка в IEEE 754 (111…1) полностью отдано под две бесконечности и огромное количество вариантов представления NaN (=
@alfaduck
@alfaduck 2 жыл бұрын
Немного не по теме вопрос. В других система счисления бесконечные дроби вполне себе конечные?
@allozovsky
@allozovsky 2 жыл бұрын
Любое _действительное_ число всегда представимо в виде бесконечной дроби в любой системе счисления с целым положительным основанием b ≥ 2, причём _рациональные_ числа (т.е. дроби p/q) всегда имеют периодическую запись, а _иррациональные_ (√2, √3, e, π) - только непериодическую. Но тут есть нюансы: 1) Если в разложении знаменателя несократимой дроби q на простые множители встречаются только делители основания системы счисления b, то такую обыкновенную дробь можно записать в виде бесконечной дроби двумя способами: с периодом 0 и с периодом (b−1) - в первом случае получаем конечную запись. Например, в десятичной системе счисления это все дроби вида p/(2ᵐ⋅5ⁿ), в двоичной, восьмеричной и шестнадцатеричной - p/2ᵐ, а в двенадцатеричной - p/(2ᵐ⋅3ⁿ). 2) Некоторые иррациональные числа (а именно корни квадратных уравнений с рациональными коэффициентами) представимы в виде периодических _цепных_ дробей, например, "золотое сечение" или корень из двух: φ = [1; 1, 1, 1, ...] = [1; (1)] = 1.41421... √2 = [1; 2, 2, 2, ...] = [1; (2)] = 1.61803... а все _рациональные_ числа имеют конечную запись: 355/113 = [3; 7, 16] = 3.14159... 3) В общем случае основание системы не обязано быть целым положительным числом b ≥ 2, а может быть дробным (¹/₂, ¹/₃, ...), отрицательным (−2, −3, ...), иррациональным (√2, φ, e, π, ...) и даже комплексным (например, система счисления Дональда Кнута с мнимым основанием b = 2𝕚). Так, в системе счисления с основанием b = φ ("золотое сечение") получаем: 1 = 1ᵩ 2 = 10.01ᵩ √5 = 10.1ᵩ φ = (1+√5)/2 = 10ᵩ
@user-sw4de1kc1u
@user-sw4de1kc1u 2 жыл бұрын
А можно повторить?
@Maxim9575
@Maxim9575 2 жыл бұрын
Открытие галактики свершилось...А если серьезно просто нужно пойти и почитать стандарт IEEE 754
@KBAc56
@KBAc56 2 жыл бұрын
За 3 курса в вузе нам никто не ответил почему в float 1.499999999999999999991, а не 1.5 Это кстати С
@Maxim9575
@Maxim9575 2 жыл бұрын
@@KBAc56 смотря какой вуз. А вообще даже в моем я не припомню такой информации сам читал.
@coolplayer565
@coolplayer565 2 жыл бұрын
Вы не искали это видео оно само вас нашло
@kpebetbl4464
@kpebetbl4464 2 жыл бұрын
Объясняешь вроде понятно, и подробно, и голос классный, и дикция хорошая, нооо... я всё равно ничего не понял(
@WissenYT
@WissenYT 2 жыл бұрын
Ну прости
@kpebetbl4464
@kpebetbl4464 2 жыл бұрын
@@WissenYT твоей вины нет, я не дошёл до такого уровня еще, чтобы уловить всю нить)
@apocalyptic_gnum
@apocalyptic_gnum 2 жыл бұрын
Я НАШЁЛ ТЕБЯ! Я уж думал ты канал удалил, теперь я тебя не потеряю
@user-uy8wb5li2o
@user-uy8wb5li2o 2 жыл бұрын
1000 лет не видел людей которые используют метод format() вместо fстрок
@rawil6751
@rawil6751 2 жыл бұрын
я новичок и про этот метод вообще не слышал, даже гуглить пошёл, всегда пользовался f-строками.
@viktorskobeliev1664
@viktorskobeliev1664 2 жыл бұрын
формат позволяет вывести красивый вывод -) Не более
@zippermobilegaming2172
@zippermobilegaming2172 2 жыл бұрын
Мой крошечный мозг не может переварить это...
@technic_and_programming
@technic_and_programming 2 жыл бұрын
Пересмотрел 3 раза, и всё равно не понял :/ Пересматриваю уже 4 раз 😅
@Ok1pTO5OAdDB
@Ok1pTO5OAdDB 2 жыл бұрын
как это всё?
@user-oe3tx4hu6j
@user-oe3tx4hu6j 2 жыл бұрын
Не плохо, не плохо
@Vorobei_ibn_Horus
@Vorobei_ibn_Horus 2 жыл бұрын
Специально так делают по заказу всемирного банка...что бы с каждой операции забирать эти лишние циферки...вот на них они и делают миллиарды...
@Andromeda-re6bu
@Andromeda-re6bu 2 жыл бұрын
мне одному напоминает это версии игр в порядке возрастания
@hlibprishchepov322
@hlibprishchepov322 2 жыл бұрын
Я сразу понял что ошибка в умножении на 1,15
@alexeypetrov8514
@alexeypetrov8514 2 жыл бұрын
мб ввести . после числа, которая предполагает 99.99999999999 точность?
@poschtetos
@poschtetos 2 жыл бұрын
Вся суть расхождений в бухгалтерских программах разных фирм...вечно 1 копейка не идёт
@bvpanchenko
@bvpanchenko 2 жыл бұрын
там должны использоваться числа высокой точности. Копейка не сходиться это обычно округления + последовательно операций. Еще есть метод округления. Например в "банковское", где 1.5==1
@user-zf7gz6wm8i
@user-zf7gz6wm8i 2 жыл бұрын
Почему мантисса имеет целую часть в примере с 0.075? Разве нормальзованное число не равно 0.75*10^(-1)?
@allozovsky
@allozovsky 2 жыл бұрын
В стандартном виде число всегда имеет ненулевую первую цифру - именно для неё указывается порядок, т.е. 0.075 = 7.5⋅10⁻² - порядок величины равен -2.
@allozovsky
@allozovsky 2 жыл бұрын
Но вообще у термина "мантисса" два значения: для нормализованной записи a⋅10ᵖ она удовлетворяет условию 1 ≤ a < 10, а для таблиц десятичных логарифмов lg(a⋅10ᵖ) = p + lg(a) = p + m, где 0 ≤ m < 1 - дробная часть десятичного логарифма.
@user-zf7gz6wm8i
@user-zf7gz6wm8i 2 жыл бұрын
@@allozovsky , понятно, а почему мантисса нормализованного двоичного числа всегда имеет 1 в начале? Например, 5.6 = 101,10011001100=1,0110011001100×2^2
@allozovsky
@allozovsky 2 жыл бұрын
@@user-zf7gz6wm8i По той же причине: в системе счисления с основанием b стандартный вид числа имеет вид a⋅bᵖ, поэтому в двоичной системе мантисса будет удовлетворять условию 1 ≤ a < b или 1 ≤ a < 2, т.е. целая часть мантиссы всегда будет равна 1.
@user-zf7gz6wm8i
@user-zf7gz6wm8i 2 жыл бұрын
@@allozovsky я поражена тем, что чел с ютуба помог мне ответить на вопрос быстрее и понятнее, нежели чем 2 преподавателя в университете, герою слава!
@user-ox7gd2kd3b
@user-ox7gd2kd3b 2 жыл бұрын
Крутое видео, жаль просмотров мало
@garikzddaswsdas9233
@garikzddaswsdas9233 2 жыл бұрын
Это получаеться, что в пятерочке на кассе не кассир наябывает?
@SagePtr
@SagePtr 2 жыл бұрын
На кассах гораздо удобнее числа хранить в целочисленном виде, как количество копеек (т.к. копейка неделима)
@Polar4ikDev
@Polar4ikDev 2 жыл бұрын
-Это ошибка унесла жизни-
@user-jf1bp3lc9n
@user-jf1bp3lc9n 2 жыл бұрын
0.0000000000001=0 0.0000000000001кусочек торта это ничто
@user-yx7mn6hb9i
@user-yx7mn6hb9i 2 жыл бұрын
Надо с++ учить
@Felix-wy5ur
@Felix-wy5ur 2 жыл бұрын
🤔
@user-px7gc9wt5s
@user-px7gc9wt5s 2 жыл бұрын
2:20 не так уж сильно я хотел видео посмотреть
@mahmah-hm6kn
@mahmah-hm6kn 2 жыл бұрын
никуя не понял но интересно,лайк подпись
@rezzfiregun7752
@rezzfiregun7752 2 жыл бұрын
русский TED, наконец то
@zefirka4386
@zefirka4386 2 жыл бұрын
а можно побольше видео??🤤🤤
@Manzz2
@Manzz2 2 жыл бұрын
Не обязан
@zefirka4386
@zefirka4386 2 жыл бұрын
@@Manzz2 оффнись тело
@valodyaslysar1625
@valodyaslysar1625 2 жыл бұрын
Я з тобою
@if-i-was-rude-i-am-sorry
@if-i-was-rude-i-am-sorry 2 жыл бұрын
Вроде бы, IEEE читается, как «Ай трипл и»
@lynrayy
@lynrayy 2 жыл бұрын
Аийееее!
@user-su1wf3wz6c
@user-su1wf3wz6c 2 жыл бұрын
Ееее бой
@user-ss7kd3rk7g
@user-ss7kd3rk7g 2 жыл бұрын
И три е
Читаем QR-код без смартфона
12:02
Виссен
Рет қаралды 504 М.
Как программисты числа сломали?!
11:38
Как пройти в IT?
Рет қаралды 17 М.
ELE QUEBROU A TAÇA DE FUTEBOL
00:45
Matheus Kriwat
Рет қаралды 29 МЛН
КАК СПРЯТАТЬ КОНФЕТЫ
00:59
123 GO! Shorts Russian
Рет қаралды 3,2 МЛН
FOOTBALL WITH PLAY BUTTONS ▶️ #roadto100m
00:29
Celine Dept
Рет қаралды 77 МЛН
Двоичная логика с Papers Please
10:26
Виссен
Рет қаралды 202 М.
C++ Разработчик учит Python
28:01
Winderton
Рет қаралды 482 М.
Триггер -  простейшая ячейка памяти
14:25
Европейские штрих-коды с хитрецой
10:45
ИСТОРИЯ ОДНОГО КИЛОБАЙТА
11:26
Alek OS
Рет қаралды 806 М.