КОМЕНТАРІ •

  • @АнастасияКупор
    @АнастасияКупор 23 дні тому +1

    Благодарю за такое точное и понятное объяснение! Я рада, что вы мне попались! До вас я находила видео с разборами на эту тему, но они были все долгие и непонятные. У вас талант объяснить сложное простым языком ❤

  • @Александр-й7б9и
    @Александр-й7б9и Рік тому +7

    Вот, мы тут восхищаемся красотой технических решений, а некоторые становятся миллионерами благодаря этим случайным циферкам после запятой 😅

  • @НикИванов-ф2к
    @НикИванов-ф2к Рік тому +13

    Благодарю вас, Антон. У вас - талант объяснять. И талант блогера. Вы можете объяснять довольно скучные (для непосвященных) темы очень увлекательно. Темы роликов у вас - для меня - актуальные. Подписался на вас!

  • @facehuggerhug
    @facehuggerhug Місяць тому

    Понравилось. Отдельное спасибо за музыку на фоне :)

  • @jtprogru_channel
    @jtprogru_channel Рік тому +2

    Я хочу еще таких видосов! Это настолько круто, что хочется снова и снова!

  • @Ratmirsh
    @Ratmirsh Рік тому +2

    Антон, рад что наткнулся на ваш канал, очень понятно объясняете.
    Местами кринжанул со скетчей, может это только я такой)
    Продолжайте, очень интересно!

  • @kemal667
    @kemal667 Рік тому +6

    Насчёт странного способа записи порядка: весь стандарт float основан на том, чтобы числа можно было сравнивать как целые.

  • @ДарьяШкуренко-я2х

    Прелесть какое хорошее разъяснение. Не душно и по факту!

  • @sanchopansa8956
    @sanchopansa8956 Рік тому

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

  • @iljakot_tran4131
    @iljakot_tran4131 Рік тому

    Классный видос!
    А на моменте экономии бита я прям сам захотел танцевать

  • @inotak
    @inotak Рік тому

    Браво за объяснение таких вещей. Мне нравится!

  • @peterl4864
    @peterl4864 Рік тому

    Огонь! Я прям вспоминаю уроки по С++ в десятом классе)

  • @borisvalerievich5831
    @borisvalerievich5831 Рік тому +1

    Целочисленная математика наше всё

  • @МихаилКраснобаев-е1ч

    Какое кайфовое объяснение

  • @-Sergey
    @-Sergey Рік тому +1

    Сложно. Но интересно. Надо будет ещё разок пересмотреть.

  • @СтаниславТимошко-и6е

    Интересное видео) Было бы очень круто, если бы вы рассказали про нейросети в следующих видео!

    • @math-to-masses
      @math-to-masses Рік тому +1

      Спасибо!
      Я точно расскажу об этом, как только придумаю, как это сделать без духоты :)

  • @arm_128bit
    @arm_128bit Рік тому

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

  • @barcek2281
    @barcek2281 Рік тому +1

    1) классно. 2) я еще больше стать прораммистом

  • @rechw769
    @rechw769 Рік тому +1

    Спасибо за видео!

  • @45485
    @45485 Рік тому +1

    ты на природе снимаешь?

  • @dontyoudaredude
    @dontyoudaredude Рік тому

    Очень интересный видос!

  • @justafish_
    @justafish_ Рік тому

    3:55 как по мне это наоборот более правильная и логичная форма, чем у дополнительного кода, в ней 1000 > 0000, потому что старший разряд в первом числе больше, чем во втором. Это то, как работают числа в любой системе счисления. А вот в дополнительном коде у нас почему то 0000 > 1000 (потому что старший разряд - это знак, да еще и чем он больше, тем число меньше)

  • @ErrorsMissing
    @ErrorsMissing Рік тому +6

    вычитать -127 нужно для хранения отрицательной экспоненты. Конечно можно было бы использовать sign бит, но тогда бы у нас экспонента лежала бы в диапазоне (-127, +127) так как два значения(10000000 и 00000000, они же +0 и -0 в десятичной) были эквивалентны. Если же мы вычитаем 127, то получаем значение экспоненты в диапазоне (-127, +128), а значит что неиспользованное значение может служит идентификатором NaN и Infinity.

    • @math-to-masses
      @math-to-masses Рік тому +1

      Блин, это так просто и логично. Почему я сам не догадался! Спасибо!

    • @ИванВоронин-и2м
      @ИванВоронин-и2м Рік тому

      @@math-to-masses ua-cam.com/video/cUxY7xiE2y0/v-deo.html

    • @v61kz
      @v61kz Рік тому

      А какое остаётся неиспользованным?😮

  • @JamshidShoyusupov-fo1gm
    @JamshidShoyusupov-fo1gm 8 місяців тому

    Круто!!!

  • @KT315A-qp9re
    @KT315A-qp9re 7 місяців тому

    4:14 так сделали, чтобы сортировку чисел делать быстрее.
    Первый проход можно делать только по первому байту.

  • @mishkaD23
    @mishkaD23 8 місяців тому

    Почему же тогда в C++ при сложении двух float выдаёт 4? Получается, в наше время проблема решена уже, а ты рассказываешь что нет и всем кранты.

  • @timurbrave
    @timurbrave Рік тому +1

    Спасибо Вам за ролик!)
    Скажите пожалуйста, как калькулятор, например гугловский на Андроид, записывает дробное число для дальнейших вычислений?
    Точнее у меня этот вопрос к следующему примеру. Последовательно делаем следующие операции: делим десять на три, нажимаем равно, умножаем результат на три и получаем 10 вместо 9,999~.
    Чтобы получить десять калькулятор должен отметить себе что 10 / 3 = ⅓ от 10, но как это он себе отмечает?
    Спасибо Вам!

    • @math-to-masses
      @math-to-masses Рік тому +1

      Я не уверен, поскольку разных видов калькуляторов огромное множество. У меня тут есть два варианта: либо у калькулятора по-другому хранятся в памяти и в процессоре (это, кстати, логично, ведь калькулятору не нужно так же сильно ускорять вычисления, как компьютеру), либо он умеет добавлять какое-то небольшое число эпсилон, если он понимает, что такое добавление округлит число

    • @timurbrave
      @timurbrave Рік тому

      @@math-to-masses Спасибо Вам за ответ, Антон! А может у него есть что-то вроде списка случаев, когда период в десятичной дроби нужно отметить как дробную часть от целого числа.

    • @timurbrave
      @timurbrave Рік тому

      @@math-to-masses В принципе, как-то ведь калькулятор должен хранить дроби с периодом.

    • @timurbrave
      @timurbrave Рік тому

      @@math-to-masses Число эпсилон - это интересный вариант. Спасибо!

    • @math-to-masses
      @math-to-masses Рік тому +1

      @@timurbrave я бы ставил на то, что у калькулятора дроби хранятся не как одно число с плавающей точкой, а как отдельно целый числитель и отдельно целый знаменатель. Как быть с иррациональными числами, правда, в такой парадигме - не очень понятно, не знаю. Думаю, что специалисты по транзисторам и процессорам тут подскажут подробнее

  • @sergeyklim8355
    @sergeyklim8355 Місяць тому

    Спасибо, автору, но нужно больше времени просты вставкам-наглядным

  • @programm1ct
    @programm1ct Рік тому +4

    Всё просто - 1.4 или 2.6 не возможно точно записать в дроичных дробях, точно так же как не возможно записать 1/3 в десятичных дробях.

  • @ПавелМелюхин-т9ч

    А про денормализованные числа?

    • @math-to-masses
      @math-to-masses Рік тому

      справедливо, тут не рассказал. Вы молодец, что вспомнили :)

  • @sergeigarbar1896
    @sergeigarbar1896 Рік тому +1

    1) классно. 2) я больше не хочу быть программистом

    • @math-to-masses
      @math-to-masses Рік тому +5

      Да наоборот же! Когда знаешь, как оно устроено, тогда столько всего классного можно напрограммировать! :)

    • @sergeigarbar1896
      @sergeigarbar1896 Рік тому

      @@math-to-masses это была шутка. если серьёпзно - я думал что операции с числами мне хватит
      32Bits RAM in Digital Logic Sim #digitallogic
      7 Segment Display in Digital Logic Sim
      и истальных видео по digital Logic Simulator . я думал что например 5.5 это + 0011 0111 х 10 -2 ( + 55 умножить на 10 в минус второй)

    • @SuperMario-is5rj
      @SuperMario-is5rj Рік тому +2

      Эти толпы битов с удовольствием кушает процессор, а не программист. Программист щёлкает кнутом и говорит: " але-ап, добудь мне sin(3.14/2) " и кланяется 😁😁

  • @papacrow3854
    @papacrow3854 Рік тому +2

    Хорошо объясняешь. Хотелось бы от тебя услышать, как python хранит очень большие числа. К примеру, у C++ есть предел

    • @Hobbitangle
      @Hobbitangle Рік тому

      python, как впрочем и C++, "большие числа" не хранит. Равно как и "малые числа" он тоже не хранит. Числа - большия и малыя - хранит компьютер. Точнее говоря, процессор, а ещё точнее говоря - математический сопроцессор (FPU). Хранит он эти числа в формате с "плавающей запятой" о чём собственно и ролик выше.
      Этот же сопроцессор обеспечивает базовый набор операций над числами - сложение, умножение, деление, а также вычисление элементарных функций, к которым потом и обращаются языки программирования, включая python, C++, Fortran, Basic и прочая, прочая, прочая, число им легион.

    • @papacrow3854
      @papacrow3854 Рік тому

      @@Hobbitangle ну все равно как? Почему на python я могу посчитать 100! И результат выводится, а C++ в этом ограничен. Он в один момент (в зависимости от размера переменной) начнет "зацикливать расчёт" И выдаст результат в пределах своей переменной.
      Хотя, возможно у C++ другие задачи были, поэтому сделали так

    • @Hobbitangle
      @Hobbitangle Рік тому

      @@papacrow3854
      "И выдаст результат в пределах своей переменной"
      Ой. "результат в пределах переменной". Даже не знаю как комментировать это выражение.
      Ладно. Пойдем другим путём. Начнём с того что ни Питон, ни C++ выражение 100! непосредственно не вычисляют. Нет такого оператора в языке, ни в том и ни в другом. "Факториал" - это есть, или точнее говоря, может быть, _функция_ которую ещё нужно определить, причём это можно сделать по разному. Например, при помощи циклического умножения - или ещё как.
      Что касается "результата в пределах переменной" (буду использовать твоё безграмотное выражение). значение 100! находится в пределах 10²⁰⁰ , ьчто вполне допустимое значение для числа с плавающей запятой двойной точности 10³⁰⁰
      Т.е. и там и там, и в питоне и на C++ результат может быть получен "в пределах переменной"
      Тут вопрос только в том как составить такую функцию.
      Если в качестве промежуточной переменной ты будешь использовать переменную , принимающую целочисленные значения, ты получишь в итоге переполнение разрядной сетки и неопределенный результат. А если сразу использовать числа с плавающей запятой, то результат будет корректным.
      вот тебе код на C++:
      int factorial (int n) {
      int temp = 1;
      for (i=2: i

    • @papacrow3854
      @papacrow3854 Рік тому

      @@Hobbitangle я написал 100! Для примера большого числа. Я не имел ввиду, что сразу вычислит

    • @НикитозСаныч
      @НикитозСаныч Рік тому

      ​@@Hobbitangleну как бы, в Пайтон такой оператор есть, который вычисляет факториал

  • @redfox7193
    @redfox7193 7 місяців тому

    Тем не менее (код C#) Console.WriteLine(1.4f + 2.6f); выдает в консоле 4, а не 3.9999
    А Console.WriteLine(1.4f + 2.6f == 4f); выдает True.

  • @nexonnera.k.a.8796
    @nexonnera.k.a.8796 Рік тому

    Такое чувство когда учил десятичные роби раньше обычных:

  • @soyeraccount
    @soyeraccount Рік тому

    А есть ли способ точно проводить операции с дробными числами?

    • @math-to-masses
      @math-to-masses Рік тому

      Первый способ - использовать double. Второй способ - реализовать собственный формат хранения чисел, но увеличить время, затраченное на вычисление

    • @Александр-й7б9и
      @Александр-й7б9и Рік тому +1

      Python поддерживает тип Decimal. Подробности в PEP 327

  • @zzubra8802
    @zzubra8802 Рік тому

    Красиво

  • @АлександрИванович-я3й

    Довольно странное утверждение, что в школе сложно давались десятичные дроби. Мне наоборот с десятичными было все предельно понятно и просто, а вот с простыми головная боль. С десятичными как раз всё просто. Есть целое количество (яблок) и какая-то ещё часть (яблока) в диапазоне от 0 до 1, где 0.5, это половина яблока, а 0.25 четверть и так далее. С простыми же до сих пор иногда проблемы возникают.
    Но может это просто я один такой "неправильный" и всем людям проще простые дроби, а с десятичными проблемы.

  • @Danil_Dm
    @Danil_Dm Рік тому

    Если честно то мне обыкновенные дроби были сложнее чем десятичные, наверное потому что я уже программировать умел когда их изучал

  • @wrrr1256
    @wrrr1256 Рік тому

    в прошлом семестре на экзамене по информатике получил 5, только сейчас понял за что💀

  • @padla6304
    @padla6304 Рік тому

    1.4 + 2.6 = 14/10 + 26/10 = 7/5 + 13/5 = 20/5 = 4/1 = 4

  • @Serhii_Volchetskyi
    @Serhii_Volchetskyi Рік тому

    Хотелось б про коррекцию ошибок услшать

  • @yohohowowowo9471
    @yohohowowowo9471 Рік тому

    А я то думаю, почему в программах 0,333 и 0,666 и им подобные так часто вылезают, а оно вон что)

  • @justafish_
    @justafish_ Рік тому

    12:17 в принципе логично, (1.2345 * 10 ^ 100) + (9.999 * 10 ^ 10 ^ (-100)) примерно равно 1.2345 * 10 ^ 100

  • @Ritefita
    @Ritefita Рік тому

    нафига у 1.4 и 1.6 сравнивать порядки,
    если он у них один?
    как вышло что разный?

    • @math-to-masses
      @math-to-masses Рік тому

      там 1.4 и 2.6 складываются. У них разные порядки. У 1.4 и 1.6 действительно порядки одинаковые

    • @Ritefita
      @Ritefita Рік тому

      @@math-to-masses спасибо.
      у 1.4 и 2.6 тоже одинаковые порядки, относительно точки.
      Эх, надо было вовремя выключать))

    • @math-to-masses
      @math-to-masses Рік тому +3

      @@Ritefita в десятичной системе счисления - одинаковые - у них порядок единиц (десять уже не влезает в эти числа). А в двоичной системе счисления в 1.4 влезают единица, а двойка уже не влезает. А в 2.6 влезает уже двойка. Так что 2.6 в двоичной системе на 1 порядок больше, чем число 1.4

  • @НикитозСаныч
    @НикитозСаныч Рік тому

    Так и не сказал, а как же их хранить. То, что они там лежат так, что сам чёрт ногу сломит - это понятно. А как мне, например, воспроизвести на компьютере любой знак после запятой числа Пи?

  • @ЕленаКононова-ю3в

    Блин, как ты мнимое число запишешь? у него же нет знака

    • @math-to-masses
      @math-to-masses Рік тому

      Мнимое число в таком формате, конечно, не запишешь, это правда. Чтобы сохранить в памяти мнимое число, нужно два числа в формате флоат

  • @JohnJTraston
    @JohnJTraston Рік тому

    Нееее... ну ты сразу прям float. Есть еще числа с фиксированой точкой - дофига где в кодеках, DSP, микроконтроллерах используется. Есть в виде рациональных дробей, целочисленные числитель со знаменателем. Тоже много где в embedded технике используется. Да пол Exifа в таком виде записано.

  • @alex-j476
    @alex-j476 Рік тому

    давай еще больше инфы

  • @iamzeus1250
    @iamzeus1250 Рік тому

    Нормик

  • @ИванВоронин-и2м

    Ты втираешь мне какую-то дичь!

  • @dageon3127
    @dageon3127 Рік тому

    ХАХАХААХА
    python при складывании 1.4 + 2.6 выдает 4

  • @alexeidubrovin5234
    @alexeidubrovin5234 Рік тому

    Не раскрыта тема с (+/-) 0/∞/NaN !

    • @math-to-masses
      @math-to-masses Рік тому

      Справедливо, надо будет дополнить

  • @nickzweng7299
    @nickzweng7299 Рік тому

    float f1 = 1.4;
    float f2 = 2.6;
    float f3;
    float sum_f(float ff1, float ff2)
    {
    return ff1 + ff2;
    }
    int main()
    {
    printf("Hello World %f
    ", (1.6+2.4));
    printf("Hello World %f
    ", (f1+f2));
    f3 = f1 + f2;
    printf("Hello World %f
    ", f3);
    f3 = sum_f(f1, f2);
    printf("Hello World %f
    ", f3);
    return 0;
    }

    • @nickzweng7299
      @nickzweng7299 Рік тому

      Hello World 4.000000
      Hello World 4.000000
      Hello World 4.000000
      Hello World 4.000000
      ...Program finished with exit code 0
      Press ENTER to exit console.

  • @donevil8582
    @donevil8582 Рік тому

    Видео крутые конечно, но обидно как-то, когда ты зрителя недоумком изображаешь.

    • @math-to-masses
      @math-to-masses Рік тому

      честно говоря, здесь я показываю себя, как бы "я, который не в теме" отреагировал на "меня, который в теме" :)