00:00 Введение 00:46 Число с плавающей точкой 01:37 Институт IEEE 02:08 Математический сопроцессор 02:48 Перевод дробных чисел 03:53 Экспоненциальная запись 05:27 Форматы хранения дробных чисел 06:14 Хранение числа в формате одинарной точности 07:36 Хранение степени 10:24 Хранение специальных значений 11:34 Восстановление числа из памяти 13:06 Бесконечная дробь 14:02 Запись бесконечной дроби в память 14:46 Обзор других форматов 15:50 Заключение
Добавь пожалуйста ещё видео на эту тему. Думал, это я чайник, а судя по комментам ни я один не до понял пару моментов. Разжуй нам повторно пожалуйста🙏 У тебя это выходит прекрасно!🙏🤗
Cпасибо за это видео! Концентрированная, систематизированная, рационально укомплектованная и последовательно представленная информация - ничего лишнего. Моё почтение. (по традиции)
Спасибо, я столько всего копал и нифига не мог понять до конца. Все урывки какие то и противоречивая инфа. Спасибо, наконец то все пазлы собрались воедино! Продолжай, не останавливайся. Желаю огромных успехов дружище!
Тут нужно уточнить, что в примере 10 в основании - это запись в двоичном виде, а значение экспоненты - в десятичном. Т.е. если записано 1.1101*10^2, это значит число 1.1101, после перевода в десятичное число, нужно умножать на 2^2= 4
Действительно отлично проделанная работа. Уложить в 15 минут суть представления чисел с точкой в памяти машины - лучшего материала я пока не видел. В книгах описано детальнее, с математическими выкладками, но там всё сложнее, скучнее и дольше в изучении. Понимаешь, когда визуализация существенно ускоряет освоение темы. Успехов в развитии канала.
Огромное спасибо за шикарные ролики. Было бы очень здорово, еслиб Вы поделились литературой /ссылками на информацию, которую излагаете в плейлисте. Ещё раз спасибо)
Мое почтение за качество материала и его иллюстрированность! Только по-прежнему клонит в сон во время просмотра из-за интонации и рваных смысловых пауз. И чем обусловлен выбор настолько релаксирующей музыки? Это же очевидно затрудняет восприятие!
14:20 мы сдвинули точку на 2 разряда влево, то есть степень = 2 (10 в двоичной), записываем в поле для степени 2 +127 =129 (10000001 - в двоичной) но в видео 01111100, почему?
Большое спасибо! Это и правда лучшие видео во всем ру сегменте на подобные темы, где разобраны все нюансы и очень круто структурирована и преподнесена информация. Пожалуйста не останавливайтесь! Тот редкий случай, когда захотелось поблагодарить и оставить комментарий.
Уже посмотрел несколько видео этого канала. Пересмотрев не мало других роликов скажу, что здесь самые понятные объяснения. Очень крутой канал, благодарю!
Спасибо за такой крутой контент!!! Даже совсем не сведущий может начинать понимать технологии👍🏻👍🏻👍🏻 немного поломал голову над 14:24, но нашел в комментах 😉
Я в шоке. У меня в вузе так попа горела с этой темы. Сейчас начал заниматься реверсивной инженерией, случайным образом обнаружил этот канал и понял, что по сути весь он посвящён тому, как работает компьютер, что прямо переплетается с тем, что я изучаю. Оказывается то, что давали в вузе не какая-то скучная хрень, а очень даже интересная фундаментальность всей IT-сферы. Эти уроки - золото, а этот человек - легенда.
проблема в том что в вузе ты не понимаешь зачем это нужно, потому что не обьясняют на примерах из рабочей практики программиста (ее у преподавателей нету)
только наткнулся на канал , сразу подписался и жадно просмотрел все ролики , кроме ассемблера пока! Благодарю за полезный материал и годную подачу, успехов!!!
Ролик прекрасный, большое спасибо! Вот только не совсем понял момент на 14:20, когда мы привели число в экспоненциальный вид, получили 10 во второй степени или 10 в двоичной, для того, чтобы записать верно степень числа мы должны к 127 + n, где n - степень, в данном случае 2, получаем 129 = 10000001, почему получился степень получилась 01111100 = 124, ведь степень не -3, не ясно тут, если можно поясните, а то я думаю, что это я глупенький
А ты думал почему у нас основа 10, а бинарный код соответсвует числам когда за основу взято 2. То есть для смещения комы в двуичном числе нужно нужно умножать на 2eN но никак не 10. Такая запись возможна только если у нас основа 10 или просто смещаем кому в десятичной системе.
Респект, автору. Благодаря объяснению понял что еще люди земли не создали комп который может высчитать абсолютный "НОЛЬ" , а то б уже давно смогли понять физические свойства тонких материй мироздания и научились путешествовать в космосе. В общем есть направление куда двигаться и над чем работать, человечеству. )))))
Отличный ролик. Но, все же имеется место для улучшений. На шестой минуте где картинка какие биты за что отвечают - это просто кровь из глаз. Цвета расставленны от балды, мешанина с двоичной мантиссой и десятичным порядком. Обозначь знак и знаковый бит одним цветом, мантиссу и ее биты другим, а порядок и их биты третьим. Кроме того, на картинке двоичную единицу целой части, а также десятку экспоненты напиши обычно, не выделяя цветом вообще (примерно как точку-разделитель целой и дрбной части). И сразу читаемость материала повысится на порядок.
После этих видео понимаю, что странный у меня ВУЗ. Они лезут очень глубоко, пропуская вот этот уровень, что открывается в этих видеороликах. Нас учат алгоритмам основных мат. операций на процессорах для чисел с ПЗ, но вот такие банальные вещи не поясняются. С материалами из этого видео были бы понятны более глубокие моменты. Очень странно. Тем не менее, благодаря этим роликам очень часто заполняются мои пробелы в понимании тех или иных вещей, особенно эффективны в этом плане были ролики о функционировании процессора, о памяти и о кэше. Спасибо! Делайте то, что делаете. Рунет очень нуждается в этом без преувеличения.
Наконец то Winderton вернулся (правда в другом теле)(помню когда то был канал winderton и рисовал очень похожие анимации, в свое время топчик был). Чувак крутые уроки делаешь! Продолжай в том же духе. Подписка лайк колокольчик. Давай про tcp/ip и web тоже мути, большую аудиторию собирешь. Потом заграницу тебя будут звать. Самое главное не липи рекламу! А то аудиторию потеряешь в миг(как мне кажется). А рекламодатели полезут скоро (возможно уже). Вообщем жму руку за твои труды, могЁшь!
блин, чел, тебе повезло. Я на последнем видосе на этом канале благодарочку оставил в комментах, где упомянул интонацию соракса и монтаж как у вина, но соракс пропал, а вин оказался не очень порядочным человеком, поэтому для меня этот канал стал очень важным, и ещё упомянул нескольких. Без ссылок, без матов, без упоминания вируса, но ютуб по всей видимости удалил коммент(
@@sergeyshevchenko3646 в 19 году его топ донатер Артаник сделал пост на гитхабе про Вина, можешь загуглить. Там моменты с тем, что персональные курсы на самом деле неперсональные, по поводу токсичного отношения к другим, и многое другое.
Отличный ролик, но, кмк, не хватило двух фактов: 1. Число в любой записи и любом формате (не только IEEE754) нельзя хранить бесконечно точно. Так как множество вещественных чисел бесконечно (между двумя любыми числами всегда существует число, которое будет больше одного и меньше другого), а память конечна. Поэтому проблема не в стандарте (мне показалось из ролика, что стандарт как будто обвиняют в этом), а в самой природе чисел 2. С увеличением числа (в десятичном виде) его точность уменьшается. Это очевидно, если подумать, но мало кто задумывается. С какого-то момента прибавление единицы к числу будет давать прежнее число, а не число, большее на единицу
Как обычно - концентрированная годнота! Спасибо! Я эмбеддер, и если надо работать с FP и камень без FPU, то при работе с термодатчиками и прочими аналоговыми значениями, я просто избавлялся от запятой путем сдвига и работал как с целыми числами, (с 57.354 я работал как с 5735400)и в конкретных узких приложениях удавалось избавляться от описаных в видео геморроев . 🙄
Было бы очень круто увидеть от Вас инфу про машинное эпсилон, как он вычисляется и почему прибавляя к числу определенные величины, значение не меняется. А также вычисление границ диапазона для чисел различных точностей ( половинной, одинарной, двойной...).
Потеря точности происходит из-за того, что для сложения двух чисел с плавающей точкой нужно вначале привести их к общей экспоненте. Для этого, в меньшем по модулю числе уменьшается мантисса в два раза, а экспонента, соответственно, увеличивается. Само число не меняется. Так до выравнивания экспонент. Т.к. длина мантиссы не бесконечная, то при определенной разнице экспонент получится что мантисса обнулилась. И, соответственно, при суммировании мантисс, сумма останется равной большей мантиссы, т.е. точность сложения потеряется.
Очень интересно, но остались два вопроса, на которые я надеялся получить ответы: 1. Как выполнять операции с числами с плавающей точкой? 2. Как записать 0 в этом формате?
5:16 - ну на самом-то деле, поскольку первая цифра мантиссы всегда будет единица, то мантиссу сдвигают влево ещё на один знак, изменяя степень, а единицу подразумевают.
Для того, чтобы понимать, для чего нужна вся эта инфа о том, как числа хранятся в памяти, есть очень крутое видео на английском, где представлен разбор численного алгоритма для вычисления функции f(x)=1/sqrt(x). Там используется хак, что двоичный логарифм числа это по сути его битовое представление в виде float, только лишь умноженное и сдвинутое на константы. Всем мало мальски интересующимся темой численных методов видео обязательно к ознакомлению. ruclips.net/video/p8u_k2LIZyo/видео.html
Как всегда шикарная подача и отменная плотность полезного материала, единственный момент, который я не совсем понял - 2:55 , Вы говорите переводим из десятичной в двоичную, а на экране появляется перевод из двоичной в десятичную 🧐
Самое интересное, что введя в калькулятор с функцией перевода в ieee754 с побитовым отображением, самый последний бит был равен единице, то есть вместо значения в уроке 0|1000_0001|011_1100_1100_1100_1100_1100 (5.8999996185302734375) было 0|1000_0001|011_1100_1100_1100_1100_1101 (0.900000095367431640625). Мог ошибиться, но похоже на правду. Видимо, округления производятся по-разному, в зависимости от его типа, описанного в ieee754, и определённого в программе. Спасибо за видео, наконец-то понял, как числа данного формата вообще работают, раньше не было желания с ними знакомиться, хотя понимал, что подобное поведение происходит из-за ограниченного числа бит, отводимых для хранения числа.
От лица меня и моих приятелей из универа, благодарю! Наконец-то нормальное объяснение этого сатанизма... С меня лайк и подписка, наткнулся на видео через рекомендацию видоса о ассемблере. Муторный достаточно подход с виртуалкой, мы делаем проще, у нас в универе ассемблер изучают через эмулятор процессора на архитектуре MIPS, называется MARS.
Кто хочет разобраться без заумных формул как компьютер считает числа с плавающей точкой, вот видео на англ, переводить лучше через яндекс так как автоматический гугл корявый ruclips.net/video/L8OYx1I8qNg/видео.html
А почему дробную часть не перевести по обычным правилам в двоичную систему, то Есть компьютеру надо будет запомнить знак, 2 числа - перед точкой и после.
Решение проблемы простое: нужно хранить дробные числа как отношение целых. Например, 5,9=59/10 или в двоичной системе: 111011/1010. И все, никакой потери точности. В этом виде число можно умножать, делить и делать с ним что угодно, с абсолютной точностью. Проблема только в том, что при большом количестве операций умножения/деления длина числителя и знаменателя будет быстро разрастаться. Но, например, в бухгалтерии не так часто нужно последовательно умножать и делить, так что можно использовать такой формат записи там, во избежание мухлежа с чьей-то зарплатой.
Спасибо за ролик. Очень всё профессионально объяснено. Но почему не смогли ничего другого придумать ? 1) Можно все числа умножить на 100(1000, 10 000 на сколько хочешь). Проделать все операции, потом поделить на 100(). И ниоткуда бесконечная белиберда не появлялась. Так допустим нужно было работать с MMX. 2) Во времена двоично десятичных чисел можно было точку определить как 1010 и относительно неё считать.
@@404Negative , я не понял тебя. 317.272375*5.4162=317272375*54162/10000000000=2 010 811 183 000 / 10 000 000 000. Для хранения верхнего числа достаточно 42 бита. Для нижнего 8, т.к. это 10 в какой-то степени. Это больше 32 бит но меньше 64. Технология MMX или SSE используют 128 бит. Сейчас математические процессоры способны аппаратно на следующий шаг накидывать результат предыдущей операции и ветвить по регистрам. Я это к тому, то это улетает за 128 бит. Но я не знаю, зачем я это ответил, т.к. не понял твой вопрос.
00:00 Введение
00:46 Число с плавающей точкой
01:37 Институт IEEE
02:08 Математический сопроцессор
02:48 Перевод дробных чисел
03:53 Экспоненциальная запись
05:27 Форматы хранения дробных чисел
06:14 Хранение числа в формате одинарной точности
07:36 Хранение степени
10:24 Хранение специальных значений
11:34 Восстановление числа из памяти
13:06 Бесконечная дробь
14:02 Запись бесконечной дроби в память
14:46 Обзор других форматов
15:50 Заключение
@@priest_of_art потому значение степени ограничено чтобы не было переполнения
Добавь пожалуйста ещё видео на эту тему. Думал, это я чайник, а судя по комментам ни я один не до понял пару моментов. Разжуй нам повторно пожалуйста🙏
У тебя это выходит прекрасно!🙏🤗
@Alek OS В русском языке есть "Числа с плавающей запятой", исправьте вместо "точки", это неграмотное написание.
@@John.Doe.2025 все жизнь программисты называют с плавающей точкой и отдельные личности с плавающей запятой.
@@theeverlastinglight5701 Всю жизнь? Чью жизнь? Точкой начало называть быдло-самоучки в последние лет 10, когда уровень образования упал.
Это самые крутые уроки по фундаментальным основам в ру сегменте
Cпасибо за это видео! Концентрированная, систематизированная, рационально укомплектованная и последовательно представленная информация - ничего лишнего. Моё почтение. (по традиции)
спасибо! качество уроков на высоте
Спасибо, я столько всего копал и нифига не мог понять до конца. Все урывки какие то и противоречивая инфа. Спасибо, наконец то все пазлы собрались воедино! Продолжай, не останавливайся. Желаю огромных успехов дружище!
Тут нужно уточнить, что в примере 10 в основании - это запись в двоичном виде, а значение экспоненты - в десятичном. Т.е. если записано 1.1101*10^2, это значит число 1.1101, после перевода в десятичное число, нужно умножать на 2^2= 4
Спасибо. Всю голову сломал. В видео сказано, что основание равно "десяти", а не один ноль. 10₂ Я уж стандарт искать начал.
Спасибо большое за уточнение , тоже всю голову сломал
Действительно отлично проделанная работа. Уложить в 15 минут суть представления чисел с точкой в памяти машины - лучшего материала я пока не видел. В книгах описано детальнее, с математическими выкладками, но там всё сложнее, скучнее и дольше в изучении. Понимаешь, когда визуализация существенно ускоряет освоение темы. Успехов в развитии канала.
Мужик, спасибо! Дай Бог тебе здоровья. Обнял.
Какая у вас классная графика! Просто сижу и завидую =)
Огромное спасибо за шикарные ролики. Было бы очень здорово, еслиб Вы поделились литературой /ссылками на информацию, которую излагаете в плейлисте. Ещё раз спасибо)
Мое почтение за качество материала и его иллюстрированность! Только по-прежнему клонит в сон во время просмотра из-за интонации и рваных смысловых пауз. И чем обусловлен выбор настолько релаксирующей музыки? Это же очевидно затрудняет восприятие!
Отличные у тебя уроки. Дикция хорошая и никакой левой болтовни.
Моё уважение.
14:20 мы сдвинули точку на 2 разряда влево, то есть степень = 2 (10 в двоичной), записываем в поле для степени 2 +127 =129 (10000001 - в двоичной) но в видео 01111100, почему?
Качество сходу чувствуется. Спасибо, подписался!
Большое спасибо! Это и правда лучшие видео во всем ру сегменте на подобные темы, где разобраны все нюансы и очень круто структурирована и преподнесена информация. Пожалуйста не останавливайтесь! Тот редкий случай, когда захотелось поблагодарить и оставить комментарий.
Уже посмотрел несколько видео этого канала. Пересмотрев не мало других роликов скажу, что здесь самые понятные объяснения. Очень крутой канал, благодарю!
Спасибо за такой крутой контент!!! Даже совсем не сведущий может начинать понимать технологии👍🏻👍🏻👍🏻 немного поломал голову над 14:24, но нашел в комментах 😉
Спасибо большое за столь полезную информацию!)
Спасибо за помощь в изучении предмета
Какое же крутое видео!!!! Просто офигенный контент и структурированное объяснение основ! Огромное спасибо! ❤
Спасибо за материал, может я что не понял но на 14:24 дробная часть должна быть 127+2 то есть 129 в двоичной форме то есть 10000001
У меня тот же вопрос…примеры в плане степени идентичны ведь
Слушай, ну моё почтение к качеству подачи материала, просто супер, сразу же подписался, продолжай!
плавающая точка просто взрыв мозга! Спасибо, наконец-то достойный повод для взрыва мозга, а не вот этв вот вся херня, творящаяся вокруг
Огромное спасибо! Просмотрела огромную кучу роликов по этой теме, но поняла все только после просмотра ВАШЕГО ролика!!! СПАСИБО!!!!!
Спасибо, шикарный ролик. Жду продолжения по ассемблеру ))
лучшее объяснение, спасибо большое!
Просто шикарно! Огромное спасибо за твой труд! Качество материала на очень высокопоставленно уровне👌
Я в шоке. У меня в вузе так попа горела с этой темы. Сейчас начал заниматься реверсивной инженерией, случайным образом обнаружил этот канал и понял, что по сути весь он посвящён тому, как работает компьютер, что прямо переплетается с тем, что я изучаю. Оказывается то, что давали в вузе не какая-то скучная хрень, а очень даже интересная фундаментальность всей IT-сферы. Эти уроки - золото, а этот человек - легенда.
проблема в том что в вузе ты не понимаешь зачем это нужно, потому что не обьясняют на примерах из рабочей практики программиста (ее у преподавателей нету)
только наткнулся на канал , сразу подписался и жадно просмотрел все ролики , кроме ассемблера пока! Благодарю за полезный материал и годную подачу, успехов!!!
Шикарно! Я наконец разобрался в вопросе. Спасибо!
Ролик прекрасный, большое спасибо! Вот только не совсем понял момент на 14:20, когда мы привели число в экспоненциальный вид, получили 10 во второй степени или 10 в двоичной, для того, чтобы записать верно степень числа мы должны к 127 + n, где n - степень, в данном случае 2, получаем 129 = 10000001, почему получился степень получилась 01111100 = 124, ведь степень не -3, не ясно тут, если можно поясните, а то я думаю, что это я глупенький
тоже это заметил, но видимо это опечатка, т.к. в вычислениях уже используется 10 (2 степень)
Да, это опечатка
Потому что биты степени хранятся в формате двоичной нотации с избытком
А ты думал почему у нас основа 10, а бинарный код соответсвует числам когда за основу взято 2. То есть для смещения комы в двуичном числе нужно нужно умножать на 2eN но никак не 10. Такая запись возможна только если у нас основа 10 или просто смещаем кому в десятичной системе.
@@AlekOS было бы удобнее, если бы про эту опечатку в описании было сказано.
Друг, очень классно объясняешь, не забрасывай канал!
Респект, автору. Благодаря объяснению понял что еще люди земли не создали комп который может высчитать абсолютный "НОЛЬ" , а то б уже давно смогли понять физические свойства тонких материй мироздания и научились путешествовать в космосе. В общем есть направление куда двигаться и над чем работать, человечеству. )))))
Отличный ролик. Но, все же имеется место для улучшений. На шестой минуте где картинка какие биты за что отвечают - это просто кровь из глаз. Цвета расставленны от балды, мешанина с двоичной мантиссой и десятичным порядком.
Обозначь знак и знаковый бит одним цветом, мантиссу и ее биты другим, а порядок и их биты третьим. Кроме того, на картинке двоичную единицу целой части, а также десятку экспоненты напиши обычно, не выделяя цветом вообще (примерно как точку-разделитель целой и дрбной части). И сразу читаемость материала повысится на порядок.
Согласен.
Наконец-то хорошее видео по этой непростой для новичка теме. Большое спасибо)
После этих видео понимаю, что странный у меня ВУЗ. Они лезут очень глубоко, пропуская вот этот уровень, что открывается в этих видеороликах.
Нас учат алгоритмам основных мат. операций на процессорах для чисел с ПЗ, но вот такие банальные вещи не поясняются. С материалами из этого видео были бы понятны более глубокие моменты. Очень странно.
Тем не менее, благодаря этим роликам очень часто заполняются мои пробелы в понимании тех или иных вещей, особенно эффективны в этом плане были ролики о функционировании процессора, о памяти и о кэше.
Спасибо! Делайте то, что делаете. Рунет очень нуждается в этом без преувеличения.
@@H01HUD9 в ДНРовском. Название вряд ли что-то даст
чувак, ты просто Бог!! спасибо за такое понятное видео )
Спасибо большое, мне это помогло в понимании темы и соответственно в обучении. Подробно и понятно изложено!
много раз в видео про ЭВМ слышал про процессоры работающие с плавающей точкой, но наконец то мне объяснили что это такое и с чем это едят
Молоток, побольше бы таких спецов👍
Спасибо Вам огромное за видео!
это все прекрасно, но еще бы примерчиков как правильно со всем этим безобразием работать на практике.
Отличная работа, рекомендую всем!
От души душевно в душу! Продолжай в том же духе! спасбо!
Спасибо! Очень интересно! Красиво глазам. Смотрю уже не один ролик, но черт как сложно сходу понять.
Наконец-то стало понятно, почему float себя так ведёт, только после этого видоса. Спасибо!
Наконец то Winderton вернулся (правда в другом теле)(помню когда то был канал winderton и рисовал очень похожие анимации, в свое время топчик был). Чувак крутые уроки делаешь! Продолжай в том же духе. Подписка лайк колокольчик. Давай про tcp/ip и web тоже мути, большую аудиторию собирешь. Потом заграницу тебя будут звать. Самое главное не липи рекламу! А то аудиторию потеряешь в миг(как мне кажется). А рекламодатели полезут скоро (возможно уже). Вообщем жму руку за твои труды, могЁшь!
блин, чел, тебе повезло. Я на последнем видосе на этом канале благодарочку оставил в комментах, где упомянул интонацию соракса и монтаж как у вина, но соракс пропал, а вин оказался не очень порядочным человеком, поэтому для меня этот канал стал очень важным, и ещё упомянул нескольких. Без ссылок, без матов, без упоминания вируса, но ютуб по всей видимости удалил коммент(
@@titanovsky а почему вин не очень порядочный чел? Я что то видать упустил?
@@sergeyshevchenko3646 в 19 году его топ донатер Артаник сделал пост на гитхабе про Вина, можешь загуглить. Там моменты с тем, что персональные курсы на самом деле неперсональные, по поводу токсичного отношения к другим, и многое другое.
Не надо инфоцыгана сравнивать с автором данного видео, это звучит как оскорбление
@@segu1459 нет
Редко пишу комменты , но хочу сказать спасибо автору за его труд. Подписка и лайк под каждым видео!
- Что стало с плавающей точкой?
- Она утонула...
очень полезное видео, максимально приятно смотреть, спасибо большое
спасибо, бро! круто как всегда, объяснил невероятно доступно и наглядно!
Отличный ролик, но, кмк, не хватило двух фактов:
1. Число в любой записи и любом формате (не только IEEE754) нельзя хранить бесконечно точно. Так как множество вещественных чисел бесконечно (между двумя любыми числами всегда существует число, которое будет больше одного и меньше другого), а память конечна. Поэтому проблема не в стандарте (мне показалось из ролика, что стандарт как будто обвиняют в этом), а в самой природе чисел
2. С увеличением числа (в десятичном виде) его точность уменьшается. Это очевидно, если подумать, но мало кто задумывается. С какого-то момента прибавление единицы к числу будет давать прежнее число, а не число, большее на единицу
Как обычно - концентрированная годнота! Спасибо!
Я эмбеддер, и если надо работать с FP и камень без FPU, то при работе с термодатчиками и прочими аналоговыми значениями, я просто избавлялся от запятой путем сдвига и работал как с целыми числами, (с 57.354 я работал как с 5735400)и в конкретных узких приложениях удавалось избавляться от описаных в видео геморроев . 🙄
За пределами термодатчиков целый мир!
@@lesgrossman834 я в курсе, и описал один из частных случаев
Круто, я думал люди которые разрабатывают компы на любые такие проблемы с хранением находили решения, а тут оно как бы есть, но как бы и неточное
Спасибо за твой труд.
Было бы очень круто увидеть от Вас инфу про машинное эпсилон, как он вычисляется и почему прибавляя к числу определенные величины, значение не меняется. А также вычисление границ диапазона для чисел различных точностей ( половинной, одинарной, двойной...).
Потеря точности происходит из-за того, что для сложения двух чисел с плавающей точкой нужно вначале привести их к общей экспоненте. Для этого, в меньшем по модулю числе уменьшается мантисса в два раза, а экспонента, соответственно, увеличивается. Само число не меняется. Так до выравнивания экспонент. Т.к. длина мантиссы не бесконечная, то при определенной разнице экспонент получится что мантисса обнулилась. И, соответственно, при суммировании мантисс, сумма останется равной большей мантиссы, т.е. точность сложения потеряется.
Очень интересно, но остались два вопроса, на которые я надеялся получить ответы:
1. Как выполнять операции с числами с плавающей точкой?
2. Как записать 0 в этом формате?
на второй вопрос ответ скорее всего следующий, нулевой порядок совместно с нулевой мантиссой представляет собой 0
то есть 0или1 0000...00000, первый бит знака по сути не важен
Самые познавательные уроки!
обалденный рассказчик. больше таких видео!
Спасибо! Это самое крутое объяснение, что я видела!
Спасибо!
Спасибо, это волшебно
спасибо. самое полное и понятное обьяснение которое я нашел
5:16 - ну на самом-то деле, поскольку первая цифра мантиссы всегда будет единица, то мантиссу сдвигают влево ещё на один знак, изменяя степень, а единицу подразумевают.
Не сухая информатика, а и как возникло итд - это интересно
Спасибо
Я не могу выразить насколько это круто объяснено. Спосибо огромное
Все это "мы проходили". Не случайно в кавычках. Спасибо, молодец....
Для того, чтобы понимать, для чего нужна вся эта инфа о том, как числа хранятся в памяти, есть очень крутое видео на английском, где представлен разбор численного алгоритма для вычисления функции f(x)=1/sqrt(x). Там используется хак, что двоичный логарифм числа это по сути его битовое представление в виде float, только лишь умноженное и сдвинутое на константы. Всем мало мальски интересующимся темой численных методов видео обязательно к ознакомлению. ruclips.net/video/p8u_k2LIZyo/видео.html
многие не понимают, что это очень важное видео и на практике много проблем с дробными числами когда незнаешь инфы из этого ролика
Спасибо, было познавательно
Если нельзя поменять комп или язык, то тогда бежим менять математику
Я бы ещё добавил бит для случаев с периодическими дробями на месте разрабов.
Как всегда шикарная подача и отменная плотность полезного материала, единственный момент, который я не совсем понял - 2:55 , Вы говорите переводим из десятичной в двоичную, а на экране появляется перевод из двоичной в десятичную 🧐
Зашел сюда тоже это написать
Какой качественный контент!
коротко и наглядно, спс
Я всё это уже проходил в факультете, но всё ровно было интересно послушать заново чему нас учили😄, Лайк!
Потрясающе!
Ты супер крут! Спасибо большое!
Это великолепно!
Спасибо тебе мужик!
Самое интересное, что введя в калькулятор с функцией перевода в ieee754 с побитовым отображением, самый последний бит был равен единице, то есть вместо значения в уроке 0|1000_0001|011_1100_1100_1100_1100_1100 (5.8999996185302734375) было 0|1000_0001|011_1100_1100_1100_1100_1101 (0.900000095367431640625). Мог ошибиться, но похоже на правду. Видимо, округления производятся по-разному, в зависимости от его типа, описанного в ieee754, и определённого в программе.
Спасибо за видео, наконец-то понял, как числа данного формата вообще работают, раньше не было желания с ними знакомиться, хотя понимал, что подобное поведение происходит из-за ограниченного числа бит, отводимых для хранения числа.
О нет, я не успел разобраться, как работают числа с плавающей запятой, как теперь ещё на очереди числа с плавающей точкой. ОдО
От лица меня и моих приятелей из универа, благодарю!
Наконец-то нормальное объяснение этого сатанизма...
С меня лайк и подписка, наткнулся на видео через рекомендацию видоса о ассемблере.
Муторный достаточно подход с виртуалкой, мы делаем проще, у нас в универе ассемблер изучают через эмулятор процессора на архитектуре MIPS, называется MARS.
Кто хочет разобраться без заумных формул как компьютер считает числа с плавающей точкой, вот видео на англ, переводить лучше через яндекс так как автоматический гугл корявый ruclips.net/video/L8OYx1I8qNg/видео.html
Отлично, спасибо! Повторенье - мать ученья
Блин, охренеть, класс!!
Прикольная подача материала. Напоминает Sorax 🙂
А почему дробную часть не перевести по обычным правилам в двоичную систему, то Есть компьютеру надо будет запомнить знак, 2 числа - перед точкой и после.
Именно так и хранится тип Decimal, который используется при операциях с финансами. Но он более требователен к ресурсам
Блин. чел, да ты лучший. Понятно и вкратце рассказал о том, чему обучают порой по несколько месяцев...
Это самое понятное из непонятного по плавающей точки что я видел
На 6:16 должна быть степень у «10» вторая, а не десятая
Спасибо большое!
Решение проблемы простое: нужно хранить дробные числа как отношение целых. Например, 5,9=59/10 или в двоичной системе: 111011/1010. И все, никакой потери точности. В этом виде число можно умножать, делить и делать с ним что угодно, с абсолютной точностью. Проблема только в том, что при большом количестве операций умножения/деления длина числителя и знаменателя будет быстро разрастаться. Но, например, в бухгалтерии не так часто нужно последовательно умножать и делить, так что можно использовать такой формат записи там, во избежание мухлежа с чьей-то зарплатой.
Видео-пояснения - огонь!
Большое спасибо 👍
8:10 бита для знака степени не предусмотрено, поэтому разобьём диапазон на 2.
0-127, 128-255
0......, 1.......
Так получается бит для знака есть)
Ну да. Он как флаг. Если его погасить (когда он установлен), получим положительную степень числа.
Пришёл из электроники в микроконтроллеры, поэтому это для меня легче, чем тот же пайтон и др. новомодные фичи.
Великолепно.
Как будто Таненнбаума почитал. Спасибо, очень толково
Спасибо за ролик. Очень всё профессионально объяснено. Но почему не смогли ничего другого придумать ?
1) Можно все числа умножить на 100(1000, 10 000 на сколько хочешь). Проделать все операции, потом поделить на 100(). И ниоткуда бесконечная белиберда не появлялась. Так допустим нужно было работать с MMX.
2) Во времена двоично десятичных чисел можно было точку определить как 1010 и относительно неё считать.
@@404Negative , я не понял тебя. 317.272375*5.4162=317272375*54162/10000000000=2 010 811 183 000 / 10 000 000 000. Для хранения верхнего числа достаточно 42 бита. Для нижнего 8, т.к. это 10 в какой-то степени. Это больше 32 бит но меньше 64. Технология MMX или SSE используют 128 бит. Сейчас математические процессоры способны аппаратно на следующий шаг накидывать результат предыдущей операции и ветвить по регистрам. Я это к тому, то это улетает за 128 бит. Но я не знаю, зачем я это ответил, т.к. не понял твой вопрос.
спасибо за видео
Блин спасибо.. Программирую давно.. Но никто так и не смог объяснить систему хранения плавающей запятой.. Ура теперь я понял... Лайк... ПОДПИСКА