Очень качественный контент у тебя! Рад что ты продолжаешь выпускать ролики. Лайк не глядя, на рекламу плевать (кушать нужно всем). Не останавливайся, спасибо!
Для меня самым интересным есть то, что я это все когда-то учил и, в принципе, знаю. Но сейчас это стало для меня немного понятнее и теперь мне лучше ясна эта тема. Спасибо
@@IIIA_KO По книгам изучал? Просто я за кодинг шарю, а за какие-то такие каомпьютерные темы не особо. Было бы круто если бы смог мне посоветовать ресурсы какие-нибудь)
В сумматорах дополнительный бит выносится как выход переноса (carry out). Соответственно, реализуют и вход переноса. Сумматор в итоге работает так Z = а + в + С. В процессорах выход переноса (он же является самым старшим дополнительным битом) подключают к биту регистра статуса процессора и реализуют две инструкции. Одна просто сложение, которая выводит перенос в регистр, если переполнение произошло. А вторая инструкция - сложение с учётом переноса. Она подаёт этот бит с регистра статуса на вход переноса сумматора. Таким образом производится сложение чисел, разрядность которых выше разрядности процессора. Продемонстрировать это проще всего на ассемблере восьмибитного микроконтроллера AVR. ; A = 0x1020 ; B = 0x3040 ; Операнд А LDI R16 0x20 LDI R17 0x10 ; Операнд В LDI R18 0x40 LDI R19 0x30 ; Складываем младшие байты ADD R16, R18 ; Складываем старшие части с учётом переноса ADC R17, R19 ; Результат в регистрах R16 и R17
Очень удачная и легко воспринимаемая интерпретация компьютерной обработки знаковых чисел. Это говорит о совершенстве понимания автором двоичной логики (далеко не каждому дано). Начинающим, конечно, сложно быстро перейти от привычной десятичной системы к двоичной, перестраивая логику своего мышления и Alek это прекрасно понимает. *Мой жирный лайк* за его желание поделиться своими знаниями, научить людей по-настоящему логически мыслить!
Постоянно смотрю ваши видео, мне очень нравится подача. В этом видео стоило бы подробнее рассказать о том, почему дополнительный код работает с точки зрения математики, так как это позволит проецировать эти знания на более сложные задачи, например, написать программу для работы с большими числами и используйте для этого систему счисления с большим основанием. Начнем с того, что сама операция вычитания не является линейной, так как нам нужно брать единицы из старших разрядов, поэтому было бы не плохо использовать уже существующие сумматоры. Для этого мы воспользовались проблемой вычислительной техники, ограниченое количество разрядов для хранения числа. "Если у вас есть пять разрядов, то перенос в шестой разряд, как и заём из него, благополучно теряется, что позволяет вместо вычитания числа выполнять прбавление некоторого другого числа. Напримет, если мы хотим вычесть из числа 500 (то есть, на пяти разрядах, 00500) число 134 (00134), то вместо этого можно прибавить число 99866. Если у нас был шестой разряд, то получилось бы 100366, но поскольку шестого разряда нет, резкльтат получится 00366, то есть ровно то, что нужно. Как легко догадаться, "магическое" число 99866 получено путём вычитания нашего вычитаемого из 1000; с точки зрения арифметики мы вместо операции X - Y выполняем X + (1000000- Y) - 1000000, причём последнее вычитание происходит само собой за счёт переноса в несуществующий шестой разряд. Хитрость здесь в том, что получить из числа y 1000000 - Y оказывается неожидано просто. Перепишем выражение 1000000 - y в виде 99999 - Y + 1. По скольку число y по условиям задачи не более чем пятизначное, вычитание 99999 - Y в столбик произойдёт без единого займа, то есть попросту каждая цифра Y будет заменена на цифру, ДОПОЛНЯЮЩУЮ её до девятки (до 9 так как 9 это максимальная цифра в десетичной системе, для двоичного кода дополнением 1 является 0, для 0 - 1, вот и получается что нужно просто инвертировать биты). Останется только прибавить единичку, и дело сделано. В нашем примере цифры 00134 заменяются на соответстввующие им 99865 (для 0 дополнение до девятки - 9, для 1 - 8, для 2 - 7, для 3 - 6, ..., для 9 - 0), затем прибавляется единица и получается "магическое" 99866, которое мы прибавили к 500, вместо того чтобы вычитать 134." из книги азы программирования А.В.Столяров
Никто в интернете лучше не объясняет. Я перерыл все источники, но все равно не мог наглядно понять то, как именно увеличивается отрицательный диапазон на единицу (-128, а не -127). Просто огромный респект
Ну если коротко, то 127 в двоичной будет же просто 1111111, а 128 уже 10000000. Выходит если представлять в обратном -127 у нас переполнений вообще нет, а на -128 возникают переполнения во всех разрядах кроме 8 и 0. Поэтому и выходит, что -128 в доп коде выглядит, как 128 в обычном)
Попробуй сам посчитать -128. Начни складывать 101111111+000000001. Даже уже по числу видно, что на каждом разряде 1+1 кроме 8 и 0 разряда)) Откуда взялось 101111111 не надо же объяснять? Я тут уже писал кому-то. Продублирую тогда. Обратный код для положительного числа совпадает с прямым кодом. Для отрицательного числа все цифры числа заменяются на противоположные (1 на 0, 0 на 1), а в знаковый разряд заносится единица. Дополнительный код положительного числа совпадает с прямым кодом. Для отрицательного числа дополнительный код образуется путем получения обратного кода и добавлением к младшему разряду единицы.
Если мучает вопрос почему -127 в доп коде это 10000001, а не 00000001, то тут всё просто: при преобразовании кода в обратный мы инвертируем все разряды числа КРОМЕ знакового.
Ну это не понятно математикам-CSникам. Железячникам это просто элемантарно понятно если примитив железки - это полный или полу-сумматор. Тупо вычитание из 0 единицы приводит ко всем единицам вот всех разрядах и просто не понятно что тут не понятно.
Не соглашусь по поводу одинаковости языков программирования. Они могут быть похожи в рамках парадигмы (императивные, ОО, функциональные). Языки из разных парадигм очень сильно отличаются подходом - буквально, о программе думать приходится совсем с другого ракурса. Иногда в язык вводят какую-нибудь особенность (например, в Rust работа с памятью), из за которой тоже приходится применять другие подходы в программировании. Справедливости ради стоит заметить, что многие языки программирования позволяют программировать в различных парадигмах.
Существует также ещё одна система счисления, называемая нега-двоичная. Она также может работать с отрицательными числами. А так видео интересно и познавательно
Любопытно. Недавно пересматривал видео, подумал, что не хочется их смотреть из-за интонации и общего контекста. Теперь же интонация изменилась, стало гораздо легче смотреть.
Спасибо за очередной и очень полезный контент! Классно что рассказываешь какие были попытки реализации архитектуры для хранения отрицательных чисел, какие были изъяны и что придумали, чтобы их максимально минимизировать. Классно расширяет кругозор! Поддерживаю тебя на патреоне, но в виду того, что со следующего месяца платежи с российский карт проходить не будут, какие есть еще способы поддержки? Будут ли работать карты виза на юмани?
Какое переполнение? У тебя двоичная система счисления. 1+1=0 и 1 в уме. Понял логику? Почему у автора выходит, что 1010 - это -6 одному богу известно. Чувак просто не понимает как работают представления отрицательных чисел в двоичном коде вообще и вводит в заблуждение весь народ. У него блять -0 в доп коде это единицы сука))) А это будет 0000 просто... Единицы будут в ОБРАТНОМ КОДЕ. Про доп код он плохо объяснил и возможно стоило бы показать пример на 8 битной записи, потому что так проще проводить аналогии с прямым и обратным кодом... А он видимо хотел попроще сделать материал для понимания и вышла просто куча говна. Из-за этого непонятно как записать даже не -10, а -128 к примеру. Нужно глубже изучить арифметику в доп коде. -10 будет 1111 0110, если использовать 8 битную запись. Это данные с википедии. А теперь к практике. Так как же получить -10? Если представить просто 10 в двоичном, то выходит 1010. Обратный код для положительного числа совпадает с прямым кодом. Для отрицательного числа все цифры числа заменяются на противоположные (1 на 0, 0 на 1), а в знаковый разряд заносится единица. Двоичное число 0001010 имеет обратный код 11110101. Дополнительный код положительного числа совпадает с прямым кодом. Для отрицательного числа дополнительный код образуется путем получения обратного кода и добавлением к младшему разряду единицы. В 0-ом разряде возникло переполнение (1 + 1 = 10). Поэтому записываем 0, а 1 переносим на 1-й разряд. 11110101+00000001=11110110. Автор просто сам не совсем как будто понимает как оно работает, либо зрителей держит за дураков и боится объяснять нормально, как это делали в школе. Но видимо, когда учился автор, то такое в школах ещё не объясняли на уроках информатики.
Уже месяц прошёл. Просто оставлю для других. Этот момент описан визуально на часах 11:40 . Так как регистр состоит из 3 битов, то максимальное число 7 положительное. А отрицательное -8 вышло Закольцевав концы мы и получаем эти часы. При переполнении разряда единице старшей некуда идти и число грубо говоря обнуляется, и мы попадаем в отрицательный диапазон или наоборот. Если же регистр содержит 4 бита под число, то 7+3=10 и переполнение будет, если мы ожидаем ответ 16. Если говорить о частом типе данных integer 32, то в нем 32 бита и из них 31 идет под число, которое в положительном диапазоне равно 2 147 483 647. Если вдруг такие числа в вашем коде, то или вы ошиблись и убежали за этот диапазон в случае неправильной проверки цикла ,например (если работа с мелкими числами, а на выходе появляются такие) . Или же необходимо увеличить выделяемое место под переменную( если вы храните большие числа).
Пошел за грибами, набрал грибов Пошел за грибами набрал ягоды Пошел за ягодой набрал грибов Пошел за ягодой набрал ягоды Получаются анекдоты, а не 7+3=6 Пошел за грибами попал в лес Набрал ягоды встретил верблюда с горбом
Алек Ос, здраствуйте. Что тогда пишется физически на твеёдый диск/винчестер? у нас есть 1) отрицательные чиосла, числа с запятой, и код хемминга. в 90е пользовался 32 битными компами. имеем - 1 бит на знак, сколько то бит на матиссу, и ещё биты на код хеммнинга. значит меньше чем 32 бита!
Программу как то писал и долго понять не мог почему при сравнении переменных, программа показывала что -15 больше 3? Обнаружил, что нет никаких"-", есть просто 15. Чуть позже написал метод с присвоением отрицательно знака числу..х=х-(х*2).
Проблемы с отрицательными числами не проблема, если не смотреть это видео, а прочитать просто книгу про эвм или информатику.... А после этого видео да, как и написал автор: "...то с отрицательными числами у нас возникает много проблем...." XDD
Это обычно не понятно математикам-CSшникам. Железячникам это просто элемантарно понятно если примитив железки - это полный или полу-сумматор. Тупо вычитание из 0 единицы приводит ко всем единицам во всех разрядах и просто не понятно что тут не понятно.
Важное дополнение насчёт флага переполнения. На данный момент нет языка выше ассеблера, который поддерживал флаг переполнения. Сам флаг переполнения есть почти в каждой модели процессора, и нативный код его поддерживает. Но вот программисту он недоступен. Для опроса флага переполнения придумана масса костылей, половина из них отваливается с новой версией компилятора. Прикол, для ветерана "Cи" - новые операторы даже не вносились на голосование. Тишина...
На самом деле отрицательных чисел не существует, есть только положительные числа и есть операция вычитания. Иначе намажьте одну отрицательную колбасу на один отрицательный хлеб.
Телеграм - t.me/Alek_OS
ВК - vk.com/alekos1
Яндекс Дзен - zen.yandex.ru/id/62220edf240e7221b567946a
А какую музыку на фоне вы используете?
Очень качественный контент у тебя! Рад что ты продолжаешь выпускать ролики. Лайк не глядя, на рекламу плевать (кушать нужно всем). Не останавливайся, спасибо!
Для меня самым интересным есть то, что я это все когда-то учил и, в принципе, знаю. Но сейчас это стало для меня немного понятнее и теперь мне лучше ясна эта тема. Спасибо
Как и где учил, если не секрет?
@@crzyduck1 самостоятельно) Даже писал код "Битовой строки" для складывания и вичитания положительных/отрицательных чисел в виде 0 и 1
@@IIIA_KO По книгам изучал? Просто я за кодинг шарю, а за какие-то такие каомпьютерные темы не особо. Было бы круто если бы смог мне посоветовать ресурсы какие-нибудь)
@@crzyduck1 CyberForum, Metanit, GeeksForGeeks к примеру
@@IIIA_KO о Метанит знаю, C# на нём учил. Спасибо за ресурсы!)
В сумматорах дополнительный бит выносится как выход переноса (carry out). Соответственно, реализуют и вход переноса. Сумматор в итоге работает так Z = а + в + С. В процессорах выход переноса (он же является самым старшим дополнительным битом) подключают к биту регистра статуса процессора и реализуют две инструкции. Одна просто сложение, которая выводит перенос в регистр, если переполнение произошло. А вторая инструкция - сложение с учётом переноса. Она подаёт этот бит с регистра статуса на вход переноса сумматора. Таким образом производится сложение чисел, разрядность которых выше разрядности процессора.
Продемонстрировать это проще всего на ассемблере восьмибитного микроконтроллера AVR.
; A = 0x1020
; B = 0x3040
; Операнд А
LDI R16 0x20
LDI R17 0x10
; Операнд В
LDI R18 0x40
LDI R19 0x30
; Складываем младшие байты
ADD R16, R18
; Складываем старшие части с учётом переноса
ADC R17, R19
; Результат в регистрах R16 и R17
Сколько же сил и времени было вложено в этот контент.
Очень интересно смотреть, благодарю за информацию :)
Очень удачная и легко воспринимаемая интерпретация компьютерной обработки знаковых чисел. Это говорит о совершенстве понимания автором двоичной логики (далеко не каждому дано). Начинающим, конечно, сложно быстро перейти от привычной десятичной системы к двоичной, перестраивая логику своего мышления и Alek это прекрасно понимает. *Мой жирный лайк* за его желание поделиться своими знаниями, научить людей по-настоящему логически мыслить!
Почему показано всего 4 бита?
@@Empty_line это просто пример для простого восприятия. Для 8, 16бит и т.д. логика не меняется
Я знал только про прямой код, но теперь понимаю, что всё устроено чуть сложнее и удобнее. Спасибо за интересное качественное видео!
Постоянно смотрю ваши видео, мне очень нравится подача. В этом видео стоило бы подробнее рассказать о том, почему дополнительный код работает с точки зрения математики, так как это позволит проецировать эти знания на более сложные задачи, например, написать программу для работы с большими числами и используйте для этого систему счисления с большим основанием. Начнем с того, что сама операция вычитания не является линейной, так как нам нужно брать единицы из старших разрядов, поэтому было бы не плохо использовать уже существующие сумматоры. Для этого мы воспользовались проблемой вычислительной техники, ограниченое количество разрядов для хранения числа.
"Если у вас есть пять разрядов, то перенос в шестой разряд, как и заём из него, благополучно теряется, что позволяет вместо вычитания числа выполнять прбавление некоторого другого числа. Напримет, если мы хотим вычесть из числа 500 (то есть, на пяти разрядах, 00500) число 134 (00134), то вместо этого можно прибавить число 99866. Если у нас был шестой разряд, то получилось бы 100366, но поскольку шестого разряда нет, резкльтат получится 00366, то есть ровно то, что нужно. Как легко догадаться, "магическое" число 99866 получено путём вычитания нашего вычитаемого из 1000; с точки зрения арифметики мы вместо операции X - Y выполняем X + (1000000- Y) - 1000000, причём последнее вычитание происходит само собой за счёт переноса в несуществующий шестой разряд.
Хитрость здесь в том, что получить из числа y 1000000 - Y оказывается неожидано просто. Перепишем выражение 1000000 - y в виде 99999 - Y + 1. По скольку число y по условиям задачи не более чем пятизначное, вычитание 99999 - Y в столбик произойдёт без единого займа, то есть попросту каждая цифра Y будет заменена на цифру, ДОПОЛНЯЮЩУЮ её до девятки (до 9 так как 9 это максимальная цифра в десетичной системе, для двоичного кода дополнением 1 является 0, для 0 - 1, вот и получается что нужно просто инвертировать биты). Останется только прибавить единичку, и дело сделано. В нашем примере цифры 00134 заменяются на соответстввующие им 99865 (для 0 дополнение до девятки - 9, для 1 - 8, для 2 - 7, для 3 - 6, ..., для 9 - 0), затем прибавляется единица и получается "магическое" 99866, которое мы прибавили к 500, вместо того чтобы вычитать 134." из книги азы программирования А.В.Столяров
Никто в интернете лучше не объясняет. Я перерыл все источники, но все равно не мог наглядно понять то, как именно увеличивается отрицательный диапазон на единицу (-128, а не -127). Просто огромный респект
Ну если коротко, то 127 в двоичной будет же просто 1111111, а 128 уже 10000000. Выходит если представлять в обратном -127 у нас переполнений вообще нет, а на -128 возникают переполнения во всех разрядах кроме 8 и 0. Поэтому и выходит, что -128 в доп коде выглядит, как 128 в обычном)
О каком диапозоне речь? У нас двоичная система счисления и есть алгоритм по которому можно получить обратный код...
Попробуй сам посчитать -128. Начни складывать 101111111+000000001. Даже уже по числу видно, что на каждом разряде 1+1 кроме 8 и 0 разряда))
Откуда взялось 101111111 не надо же объяснять? Я тут уже писал кому-то. Продублирую тогда.
Обратный код для положительного числа совпадает с прямым кодом. Для отрицательного числа все цифры числа заменяются на противоположные (1 на 0, 0 на 1), а в знаковый разряд заносится единица. Дополнительный код положительного числа совпадает с прямым кодом. Для отрицательного числа дополнительный код образуется путем получения обратного кода и добавлением к младшему разряду единицы.
Если мучает вопрос почему -127 в доп коде это 10000001, а не 00000001, то тут всё просто: при преобразовании кода в обратный мы инвертируем все разряды числа КРОМЕ знакового.
Ну это не понятно математикам-CSникам. Железячникам это просто элемантарно понятно если примитив железки - это полный или полу-сумматор. Тупо вычитание из 0 единицы приводит ко всем единицам вот всех разрядах и просто не понятно что тут не понятно.
Не соглашусь по поводу одинаковости языков программирования. Они могут быть похожи в рамках парадигмы (императивные, ОО, функциональные). Языки из разных парадигм очень сильно отличаются подходом - буквально, о программе думать приходится совсем с другого ракурса. Иногда в язык вводят какую-нибудь особенность (например, в Rust работа с памятью), из за которой тоже приходится применять другие подходы в программировании. Справедливости ради стоит заметить, что многие языки программирования позволяют программировать в различных парадигмах.
Ну наконец видео вышло =) Большое спасибо друг!
До меня наконец-то дошло, спасибо огромное!
Как хорошо что есть такие каналы! Автору огромное спасибо за труд!
Серьёзный труд, красавчик!
КайФ)
Твой формат нужно в школы и в ВУЗЫ отдавать)
Спасибо за крутую графику
Очень круто и доходчиво, большое спасибо! 👍🏻
Существует также ещё одна система счисления, называемая нега-двоичная. Она также может работать с отрицательными числами. А так видео интересно и познавательно
Понятно. Спасибо за интересные и полезные знания
Благодарю за контент!! 👍🏻 классная визуализация, приятный голос, хорошая подача и темп!! Всё прекрасно!! 😊
Как хорошо что есть такие каналы! Автору огромное
Наконец-то разобрался с этим! Ещё интересно было бы в конце разобрать умножение числа на -1, тоже вкусный момент
Отлично! Спасибо! ❤
Любопытно. Недавно пересматривал видео, подумал, что не хочется их смотреть из-за интонации и общего контекста. Теперь же интонация изменилась, стало гораздо легче смотреть.
Что ты имеешь ввиду под общим контекстом?
Наконец-то нормально объяснили обратный код. Спасибо большое!
Ты реально крутой 👍👍👍 Спасибо за труды 👍👍👍
Спасибо тебе, бро! Ты лучший! Я тебя всем рекомендую!
Спасибо за ролик, знаю что с рекламой на ютубе сейчас плохо, так что отправил соточку на юмани, с миру по нитке так сказать :)
Спасибо!
«В компьютерных науках есть только две сложные проблемы - аннулирование кэша, придумывание названий и ошибка на единицу» - Леон Бамбрик :)
Новое видео! Ура, продолжай в том же духе! Красава
Очень качественно.
И понятно.
Спасибо огромное
сделай, пожалуйста 2 часть ассемблера, очень жду)
Видимо в подборке книг будет "Цифровая схемотехника и архитектура компьютера"
Спасибо за познавательный контент
Сделай видео как в процессоре реализованы арифметические операции типа умножения степени, корня
Спасибо за очередной и очень полезный контент! Классно что рассказываешь какие были попытки реализации архитектуры для хранения отрицательных чисел, какие были изъяны и что придумали, чтобы их максимально минимизировать. Классно расширяет кругозор!
Поддерживаю тебя на патреоне, но в виду того, что со следующего месяца платежи с российский карт проходить не будут, какие есть еще способы поддержки? Будут ли работать карты виза на юмани?
Круг напомнил кольца вычетов, и правда такая система очень удобна для математики :)
Нарешті зрозумів цю тему, дуже дякую.
Отличное видео, а когдет будут другие видео по ассемблеру ?
ЭТО ЭТО ЭТО ГЕНИАЛЬНО, СТРЕЛКА, ЧАСЫ, ВСЕ СТАЛО НА СВОИ МЕСТА!!!
парень ты гениально обьясняешь
Привет, рад видеть новый выпуск.
Видосы по ассемблеру как часто выходить будут?
Очень крутые видео у тебя! Смотрю с удовольствием! Так держать!
Очень хорошо и наглядно объясняешь всё, спасибо за твою работу!
Поверхностный рассказ, только с картинками😂
Столкнулся с темой отрицательных чисел в java, там нет беззнакового байта, а данные были именно в этом формате. Пришлось писать преобразование.
Мой лайк был тысячным)). Очень полезные видео, продолжайте в том же духе)
Спасибо вам за ваши видео :з
Привет дружище! Спасибо за ваши труды, с удовольствием смотрю твои ролики . 👍👍👍👍 Спасибо
Интересная информация, спасибо за видео!
Очень качественный контент
Годнота подъехала, спасибо за ролик !)
Классное видео! Жду не дождусь еще контента)
Чёт я не понял конец видео, обяьсните пожалуйста... Он говорит, что 7+3 будет -6, так как происходит переполнение. А как же получить 10?
Какое переполнение? У тебя двоичная система счисления. 1+1=0 и 1 в уме. Понял логику? Почему у автора выходит, что 1010 - это -6 одному богу известно. Чувак просто не понимает как работают представления отрицательных чисел в двоичном коде вообще и вводит в заблуждение весь народ. У него блять -0 в доп коде это единицы сука))) А это будет 0000 просто... Единицы будут в ОБРАТНОМ КОДЕ. Про доп код он плохо объяснил и возможно стоило бы показать пример на 8 битной записи, потому что так проще проводить аналогии с прямым и обратным кодом... А он видимо хотел попроще сделать материал для понимания и вышла просто куча говна. Из-за этого непонятно как записать даже не -10, а -128 к примеру. Нужно глубже изучить арифметику в доп коде. -10 будет 1111 0110, если использовать 8 битную запись. Это данные с википедии. А теперь к практике.
Так как же получить -10? Если представить просто 10 в двоичном, то выходит 1010. Обратный код для положительного числа совпадает с прямым кодом. Для отрицательного числа все цифры числа заменяются на противоположные (1 на 0, 0 на 1), а в знаковый разряд заносится единица.
Двоичное число 0001010 имеет обратный код 11110101. Дополнительный код положительного числа совпадает с прямым кодом. Для отрицательного числа дополнительный код образуется путем получения обратного кода и добавлением к младшему разряду единицы.
В 0-ом разряде возникло переполнение (1 + 1 = 10). Поэтому записываем 0, а 1 переносим на 1-й разряд. 11110101+00000001=11110110.
Автор просто сам не совсем как будто понимает как оно работает, либо зрителей держит за дураков и боится объяснять нормально, как это делали в школе. Но видимо, когда учился автор, то такое в школах ещё не объясняли на уроках информатики.
Уже месяц прошёл. Просто оставлю для других. Этот момент описан визуально на часах 11:40 . Так как регистр состоит из 3 битов, то максимальное число 7 положительное. А отрицательное -8 вышло Закольцевав концы мы и получаем эти часы. При переполнении разряда единице старшей некуда идти и число грубо говоря обнуляется, и мы попадаем в отрицательный диапазон или наоборот. Если же регистр содержит 4 бита под число, то 7+3=10 и переполнение будет, если мы ожидаем ответ 16.
Если говорить о частом типе данных integer 32, то в нем 32 бита и из них 31 идет под число, которое в положительном диапазоне равно 2 147 483 647. Если вдруг такие числа в вашем коде, то или вы ошиблись и убежали за этот диапазон в случае неправильной проверки цикла ,например (если работа с мелкими числами, а на выходе появляются такие) . Или же необходимо увеличить выделяемое место под переменную( если вы храните большие числа).
Пошел за грибами, набрал грибов
Пошел за грибами набрал ягоды
Пошел за ягодой набрал грибов
Пошел за ягодой набрал ягоды
Получаются анекдоты, а не 7+3=6
Пошел за грибами попал в лес
Набрал ягоды встретил верблюда с горбом
В конце мелодия хороша. Можно послушать отдельно?
Вау, так просто объяснить мне ещё никто не смог, спасибо за контент
12:00 Единственно я не понял, как решили вопрос с переполнением?
Спасибо за труд !
Жаль в видео не было сказано о модифицированном коде и о коде со смещением. Не так важно, но даёт большее понимание данной темы, как мне кажется.
Алек Ос, здраствуйте. Что тогда пишется физически на твеёдый диск/винчестер? у нас есть 1) отрицательные чиосла, числа с запятой, и код хемминга. в 90е пользовался 32 битными компами. имеем - 1 бит на знак, сколько то бит на матиссу, и ещё биты на код хеммнинга. значит меньше чем 32 бита!
Бляяяя, я как будто новое анимэ для себя открыл и просмотрел все сезоны разом, а теперь меня ломает пока не выйдет новая серия
Спасибо!
крутые видео можно видео про веб ахитектуры про сокеты протоколы и тд
Эх, реклама в видео противоположна мировоззрению описанном в предыдущем видосе (про кучу курсов о синтаксисе и прочее) (((
Посоветуйте книгу середнячку в computer since для общего кругозора
Таненбаум - Архитектура компьютера. Классика же
Привет! Ты будешь выпускать ролики про как работает сеть?
Привет!
В будущем да
@@AlekOS Буду очень рад посмотреть!!! Кстати, спасибо за такой контент!!
*Всё доступно и понятно! БОЛЬОЕ СПАСИБО!*
Алек! Давай про числа с плавающей точкой такой же видос! Этот IEEE 754 вообще тёмный лес. Растолкуй нам неучам...
Уже есть на канале
@@AlekOS туплю....всё, увидел, спасибо!
Программу как то писал и долго понять не мог почему при сравнении переменных, программа показывала что -15 больше 3? Обнаружил, что нет никаких"-", есть просто 15. Чуть позже написал метод с присвоением отрицательно знака числу..х=х-(х*2).
А как работают комплексные числа? Говорят, весь квантмех на них, и все квантовые компы тоже!
Но самое крутое в дополнительном коде то, что даже умножение в нем не требует никаких ухищрений для учета знака.
Инфографика в виде часового механизма - гениально!
класс! можно по сетям контент?
В планах есть
@@thetraveler7779 так вроде он резко против подобных курсов?
Можно поподробнее с tls1.3 пожалуйста
Как же это элегантно.
Спасибо
спасибо
Следующая тема, как я понимаю, это борьба с переполнением?
Ну у меня красноречия для дифирамбов не хватает. Как всегда на высоте.
В какой программе ты делаешь эти ролики ?
Premiere pro
@@AlekOS очень круто. Добавь крипту для донаток
Спасибо огромное за это! Это мне помогло сдать сессию по программированию! Благодарю ❤❤❤
Великолепно!
Урра новый видос :3
Проблемы с отрицательными числами не проблема, если не смотреть это видео, а прочитать просто книгу про эвм или информатику.... А после этого видео да, как и написал автор: "...то с отрицательными числами у нас возникает много проблем...." XDD
"Alek OS" Привет, а что за фоновая музыка?
@@awerbow спасибо большое
спс за видео
Контент топ
Где ты рисуешь такую графику?
Ну здравствуй, Winderton++
комментарий для продвижения канала
thx
А я то думаю, зачем в механизмах в майнкрафте для отрицательных чисел используют инвертирование. Спасибо за видео!
Это обычно не понятно математикам-CSшникам. Железячникам это просто элемантарно понятно если примитив железки - это полный или полу-сумматор. Тупо вычитание из 0 единицы приводит ко всем единицам во всех разрядах и просто не понятно что тут не понятно.
Ахахах так ИИ правильно поймёт мир, без отрицательных чисел? Поймёт, что всё тлен. ❤
Ну если нужно прорекламировать то оказывается имеет смысл начинать с языка, тем более высокоуровнего)
Важное дополнение насчёт флага переполнения.
На данный момент нет языка выше ассеблера, который поддерживал флаг переполнения. Сам флаг переполнения есть почти в каждой модели процессора, и нативный код его поддерживает. Но вот программисту он недоступен.
Для опроса флага переполнения придумана масса костылей, половина из них отваливается с новой версией компилятора.
Прикол, для ветерана "Cи" - новые операторы даже не вносились на голосование. Тишина...
👍
Дружище, не сочти за труд, напиши названия треков в видео, уж очень зашли
ЧТО ПРОИСХОДИТ БЛЬЪЬЬВ
На самом деле отрицательных чисел не существует, есть только положительные числа и есть операция вычитания. Иначе намажьте одну отрицательную колбасу на один отрицательный хлеб.
Кайф