Очень качественный контент у тебя! Рад что ты продолжаешь выпускать ролики. Лайк не глядя, на рекламу плевать (кушать нужно всем). Не останавливайся, спасибо!
Для меня самым интересным есть то, что я это все когда-то учил и, в принципе, знаю. Но сейчас это стало для меня немного понятнее и теперь мне лучше ясна эта тема. Спасибо
@@IIIA_KO По книгам изучал? Просто я за кодинг шарю, а за какие-то такие каомпьютерные темы не особо. Было бы круто если бы смог мне посоветовать ресурсы какие-нибудь)
Очень удачная и легко воспринимаемая интерпретация компьютерной обработки знаковых чисел. Это говорит о совершенстве понимания автором двоичной логики (далеко не каждому дано). Начинающим, конечно, сложно быстро перейти от привычной десятичной системы к двоичной, перестраивая логику своего мышления и Alek это прекрасно понимает. *Мой жирный лайк* за его желание поделиться своими знаниями, научить людей по-настоящему логически мыслить!
В сумматорах дополнительный бит выносится как выход переноса (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
Постоянно смотрю ваши видео, мне очень нравится подача. В этом видео стоило бы подробнее рассказать о том, почему дополнительный код работает с точки зрения математики, так как это позволит проецировать эти знания на более сложные задачи, например, написать программу для работы с большими числами и используйте для этого систему счисления с большим основанием. Начнем с того, что сама операция вычитания не является линейной, так как нам нужно брать единицы из старших разрядов, поэтому было бы не плохо использовать уже существующие сумматоры. Для этого мы воспользовались проблемой вычислительной техники, ограниченое количество разрядов для хранения числа. "Если у вас есть пять разрядов, то перенос в шестой разряд, как и заём из него, благополучно теряется, что позволяет вместо вычитания числа выполнять прбавление некоторого другого числа. Напримет, если мы хотим вычесть из числа 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 работа с памятью), из за которой тоже приходится применять другие подходы в программировании. Справедливости ради стоит заметить, что многие языки программирования позволяют программировать в различных парадигмах.
Спасибо за очередной и очень полезный контент! Классно что рассказываешь какие были попытки реализации архитектуры для хранения отрицательных чисел, какие были изъяны и что придумали, чтобы их максимально минимизировать. Классно расширяет кругозор! Поддерживаю тебя на патреоне, но в виду того, что со следующего месяца платежи с российский карт проходить не будут, какие есть еще способы поддержки? Будут ли работать карты виза на юмани?
Программу как то писал и долго понять не мог почему при сравнении переменных, программа показывала что -15 больше 3? Обнаружил, что нет никаких"-", есть просто 15. Чуть позже написал метод с присвоением отрицательно знака числу..х=х-(х*2).
Алек Ос, здраствуйте. Что тогда пишется физически на твеёдый диск/винчестер? у нас есть 1) отрицательные чиосла, числа с запятой, и код хемминга. в 90е пользовался 32 битными компами. имеем - 1 бит на знак, сколько то бит на матиссу, и ещё биты на код хеммнинга. значит меньше чем 32 бита!
Какое переполнение? У тебя двоичная система счисления. 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 Пошел за грибами попал в лес Набрал ягоды встретил верблюда с горбом
Проблемы с отрицательными числами не проблема, если не смотреть это видео, а прочитать просто книгу про эвм или информатику.... А после этого видео да, как и написал автор: "...то с отрицательными числами у нас возникает много проблем...." XDD
Это обычно не понятно математикам-CSшникам. Железячникам это просто элемантарно понятно если примитив железки - это полный или полу-сумматор. Тупо вычитание из 0 единицы приводит ко всем единицам во всех разрядах и просто не понятно что тут не понятно.
Важное дополнение насчёт флага переполнения. На данный момент нет языка выше ассеблера, который поддерживал флаг переполнения. Сам флаг переполнения есть почти в каждой модели процессора, и нативный код его поддерживает. Но вот программисту он недоступен. Для опроса флага переполнения придумана масса костылей, половина из них отваливается с новой версией компилятора. Прикол, для ветерана "Cи" - новые операторы даже не вносились на голосование. Тишина...
@@aiminvest Ты о ваших солдатиках? Да, их бомбит. И домой вернутся не все. А некоторые вернутся не целиком, а либо без некоторых частей, либо вообще частями. Слава великому пу. Вот только кем воевать будете с "кровожадным" НАТО", которое, правда, все никак не хочет напасть на рассеюшку?
@@neosvitan Умирает Барак Обама. Через 10 лет ему становится скучно, и он просит Бога отпустить его на Землю проведать, как поживает его страна. Бог отпускает. Заходит Обама в Нью-Йорке в бар, заказывает пиво и спрашивает бармена, как страна поживает, как развивается, какие проблемы решает. Бармен удивлённо: - Какие проблемы могут быть? Мы же Великая империя, всё кругом наше. - Как наше? А Ирак, Афганистан? - Да уже всё наше! - А Европа, Африка, Ближний Восток? Бармен достаёт из-под стойки глобус и гордо крутит его: - Я же говорю - мы империя, весь мир принадлежит нам! Обама, радостный, гордый и довольный, допивает пиво и говорит: - Ну, спасибо, друг! Сколько с меня? Бармен: - Один рубль и двадцать копеек...
На самом деле отрицательных чисел не существует, есть только положительные числа и есть операция вычитания. Иначе намажьте одну отрицательную колбасу на один отрицательный хлеб.
Телеграм - t.me/Alek_OS
ВК - vk.com/alekos1
Яндекс Дзен - zen.yandex.ru/id/62220edf240e7221b567946a
А какую музыку на фоне вы используете?
Очень качественный контент у тебя! Рад что ты продолжаешь выпускать ролики. Лайк не глядя, на рекламу плевать (кушать нужно всем). Не останавливайся, спасибо!
Для меня самым интересным есть то, что я это все когда-то учил и, в принципе, знаю. Но сейчас это стало для меня немного понятнее и теперь мне лучше ясна эта тема. Спасибо
Как и где учил, если не секрет?
@@crzyduck1 самостоятельно) Даже писал код "Битовой строки" для складывания и вичитания положительных/отрицательных чисел в виде 0 и 1
@@IIIA_KO По книгам изучал? Просто я за кодинг шарю, а за какие-то такие каомпьютерные темы не особо. Было бы круто если бы смог мне посоветовать ресурсы какие-нибудь)
@@crzyduck1 CyberForum, Metanit, GeeksForGeeks к примеру
@@IIIA_KO о Метанит знаю, C# на нём учил. Спасибо за ресурсы!)
Очень удачная и легко воспринимаемая интерпретация компьютерной обработки знаковых чисел. Это говорит о совершенстве понимания автором двоичной логики (далеко не каждому дано). Начинающим, конечно, сложно быстро перейти от привычной десятичной системы к двоичной, перестраивая логику своего мышления и Alek это прекрасно понимает. *Мой жирный лайк* за его желание поделиться своими знаниями, научить людей по-настоящему логически мыслить!
Почему показано всего 4 бита?
@@Empty_line это просто пример для простого восприятия. Для 8, 16бит и т.д. логика не меняется
Сколько же сил и времени было вложено в этот контент.
Очень интересно смотреть, благодарю за информацию :)
Я знал только про прямой код, но теперь понимаю, что всё устроено чуть сложнее и удобнее. Спасибо за интересное качественное видео!
В сумматорах дополнительный бит выносится как выход переноса (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
Постоянно смотрю ваши видео, мне очень нравится подача. В этом видео стоило бы подробнее рассказать о том, почему дополнительный код работает с точки зрения математики, так как это позволит проецировать эти знания на более сложные задачи, например, написать программу для работы с большими числами и используйте для этого систему счисления с большим основанием. Начнем с того, что сама операция вычитания не является линейной, так как нам нужно брать единицы из старших разрядов, поэтому было бы не плохо использовать уже существующие сумматоры. Для этого мы воспользовались проблемой вычислительной техники, ограниченое количество разрядов для хранения числа.
"Если у вас есть пять разрядов, то перенос в шестой разряд, как и заём из него, благополучно теряется, что позволяет вместо вычитания числа выполнять прбавление некоторого другого числа. Напримет, если мы хотим вычесть из числа 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 единицы приводит ко всем единицам вот всех разрядах и просто не понятно что тут не понятно.
Ну наконец видео вышло =) Большое спасибо друг!
До меня наконец-то дошло, спасибо огромное!
Наконец-то разобрался с этим! Ещё интересно было бы в конце разобрать умножение числа на -1, тоже вкусный момент
Понятно. Спасибо за интересные и полезные знания
Благодарю за контент!! 👍🏻 классная визуализация, приятный голос, хорошая подача и темп!! Всё прекрасно!! 😊
Как хорошо что есть такие каналы! Автору огромное спасибо за труд!
Очень круто и доходчиво, большое спасибо! 👍🏻
Существует также ещё одна система счисления, называемая нега-двоичная. Она также может работать с отрицательными числами. А так видео интересно и познавательно
Новое видео! Ура, продолжай в том же духе! Красава
Серьёзный труд, красавчик!
КайФ)
Твой формат нужно в школы и в ВУЗЫ отдавать)
Спасибо за крутую графику
«В компьютерных науках есть только две сложные проблемы - аннулирование кэша, придумывание названий и ошибка на единицу» - Леон Бамбрик :)
Ты реально крутой 👍👍👍 Спасибо за труды 👍👍👍
Наконец-то нормально объяснили обратный код. Спасибо большое!
Спасибо за ролик, знаю что с рекламой на ютубе сейчас плохо, так что отправил соточку на юмани, с миру по нитке так сказать :)
Спасибо!
Любопытно. Недавно пересматривал видео, подумал, что не хочется их смотреть из-за интонации и общего контекста. Теперь же интонация изменилась, стало гораздо легче смотреть.
Что ты имеешь ввиду под общим контекстом?
Мой лайк был тысячным)). Очень полезные видео, продолжайте в том же духе)
Отлично! Спасибо! ❤
Как хорошо что есть такие каналы! Автору огромное
Спасибо тебе, бро! Ты лучший! Я тебя всем рекомендую!
Спасибо вам за ваши видео :з
Не соглашусь по поводу одинаковости языков программирования. Они могут быть похожи в рамках парадигмы (императивные, ОО, функциональные). Языки из разных парадигм очень сильно отличаются подходом - буквально, о программе думать приходится совсем с другого ракурса. Иногда в язык вводят какую-нибудь особенность (например, в Rust работа с памятью), из за которой тоже приходится применять другие подходы в программировании. Справедливости ради стоит заметить, что многие языки программирования позволяют программировать в различных парадигмах.
Очень качественно.
И понятно.
Спасибо огромное
Спасибо за познавательный контент
Круг напомнил кольца вычетов, и правда такая система очень удобна для математики :)
Спасибо за очередной и очень полезный контент! Классно что рассказываешь какие были попытки реализации архитектуры для хранения отрицательных чисел, какие были изъяны и что придумали, чтобы их максимально минимизировать. Классно расширяет кругозор!
Поддерживаю тебя на патреоне, но в виду того, что со следующего месяца платежи с российский карт проходить не будут, какие есть еще способы поддержки? Будут ли работать карты виза на юмани?
Сделай видео как в процессоре реализованы арифметические операции типа умножения степени, корня
Привет дружище! Спасибо за ваши труды, с удовольствием смотрю твои ролики . 👍👍👍👍 Спасибо
Очень крутые видео у тебя! Смотрю с удовольствием! Так держать!
сделай, пожалуйста 2 часть ассемблера, очень жду)
Нарешті зрозумів цю тему, дуже дякую.
12:00 Единственно я не понял, как решили вопрос с переполнением?
Очень хорошо и наглядно объясняешь всё, спасибо за твою работу!
парень ты гениально обьясняешь
Отличное видео, а когдет будут другие видео по ассемблеру ?
Годнота подъехала, спасибо за ролик !)
Вау, так просто объяснить мне ещё никто не смог, спасибо за контент
Видимо в подборке книг будет "Цифровая схемотехника и архитектура компьютера"
Интересная информация, спасибо за видео!
Столкнулся с темой отрицательных чисел в java, там нет беззнакового байта, а данные были именно в этом формате. Пришлось писать преобразование.
Классное видео! Жду не дождусь еще контента)
Привет, рад видеть новый выпуск.
ЭТО ЭТО ЭТО ГЕНИАЛЬНО, СТРЕЛКА, ЧАСЫ, ВСЕ СТАЛО НА СВОИ МЕСТА!!!
Очень качественный контент
Спасибо за труд !
Видосы по ассемблеру как часто выходить будут?
Жаль в видео не было сказано о модифицированном коде и о коде со смещением. Не так важно, но даёт большее понимание данной темы, как мне кажется.
Спасибо!
Посоветуйте книгу середнячку в computer since для общего кругозора
Таненбаум - Архитектура компьютера. Классика же
крутые видео можно видео про веб ахитектуры про сокеты протоколы и тд
В конце мелодия хороша. Можно послушать отдельно?
*Всё доступно и понятно! БОЛЬОЕ СПАСИБО!*
Спасибо огромное за это! Это мне помогло сдать сессию по программированию! Благодарю ❤❤❤
Алек! Давай про числа с плавающей точкой такой же видос! Этот IEEE 754 вообще тёмный лес. Растолкуй нам неучам...
Уже есть на канале
@@AlekOS туплю....всё, увидел, спасибо!
Урра новый видос :3
Но самое крутое в дополнительном коде то, что даже умножение в нем не требует никаких ухищрений для учета знака.
Бляяяя, я как будто новое анимэ для себя открыл и просмотрел все сезоны разом, а теперь меня ломает пока не выйдет новая серия
Великолепно!
Спасибо
класс! можно по сетям контент?
В планах есть
@@thetraveler7779 так вроде он резко против подобных курсов?
Привет! Ты будешь выпускать ролики про как работает сеть?
Привет!
В будущем да
@@AlekOS Буду очень рад посмотреть!!! Кстати, спасибо за такой контент!!
Поверхностный рассказ, только с картинками😂
спасибо
Ну у меня красноречия для дифирамбов не хватает. Как всегда на высоте.
Инфографика в виде часового механизма - гениально!
Программу как то писал и долго понять не мог почему при сравнении переменных, программа показывала что -15 больше 3? Обнаружил, что нет никаких"-", есть просто 15. Чуть позже написал метод с присвоением отрицательно знака числу..х=х-(х*2).
спс за видео
Алек Ос, здраствуйте. Что тогда пишется физически на твеёдый диск/винчестер? у нас есть 1) отрицательные чиосла, числа с запятой, и код хемминга. в 90е пользовался 32 битными компами. имеем - 1 бит на знак, сколько то бит на матиссу, и ещё биты на код хеммнинга. значит меньше чем 32 бита!
Чёт я не понял конец видео, обяьсните пожалуйста... Он говорит, что 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
Пошел за грибами попал в лес
Набрал ягоды встретил верблюда с горбом
Контент топ
А как работают комплексные числа? Говорят, весь квантмех на них, и все квантовые компы тоже!
Эх, реклама в видео противоположна мировоззрению описанном в предыдущем видосе (про кучу курсов о синтаксисе и прочее) (((
Проблемы с отрицательными числами не проблема, если не смотреть это видео, а прочитать просто книгу про эвм или информатику.... А после этого видео да, как и написал автор: "...то с отрицательными числами у нас возникает много проблем...." XDD
А я то думаю, зачем в механизмах в майнкрафте для отрицательных чисел используют инвертирование. Спасибо за видео!
В какой программе ты делаешь эти ролики ?
Premiere pro
@@AlekOS очень круто. Добавь крипту для донаток
Как же это элегантно.
Следующая тема, как я понимаю, это борьба с переполнением?
Ну здравствуй, Winderton++
Где ты рисуешь такую графику?
Ахахах так ИИ правильно поймёт мир, без отрицательных чисел? Поймёт, что всё тлен. ❤
thx
Ну если нужно прорекламировать то оказывается имеет смысл начинать с языка, тем более высокоуровнего)
Это обычно не понятно математикам-CSшникам. Железячникам это просто элемантарно понятно если примитив железки - это полный или полу-сумматор. Тупо вычитание из 0 единицы приводит ко всем единицам во всех разрядах и просто не понятно что тут не понятно.
Важное дополнение насчёт флага переполнения.
На данный момент нет языка выше ассеблера, который поддерживал флаг переполнения. Сам флаг переполнения есть почти в каждой модели процессора, и нативный код его поддерживает. Но вот программисту он недоступен.
Для опроса флага переполнения придумана масса костылей, половина из них отваливается с новой версией компилятора.
Прикол, для ветерана "Cи" - новые операторы даже не вносились на голосование. Тишина...
комментарий для продвижения канала
👍
Дружище, не сочти за труд, напиши названия треков в видео, уж очень зашли
Вам нужно начинать привыкать к отрицательным числам в экономике и вообще жизни. Молчать в тряпочку и привыкать.
На обычном для людей языке - траты.
Бомбит?
@@aiminvest Ты о ваших солдатиках? Да, их бомбит. И домой вернутся не все. А некоторые вернутся не целиком, а либо без некоторых частей, либо вообще частями. Слава великому пу. Вот только кем воевать будете с "кровожадным" НАТО", которое, правда, все никак не хочет напасть на рассеюшку?
@@neosvitan ох тыж, а ну скажи еще чего на шумерском?
@@neosvitan Умирает Барак Обама. Через 10 лет ему становится скучно, и он просит Бога отпустить его на Землю проведать, как поживает его страна. Бог отпускает.
Заходит Обама в Нью-Йорке в бар, заказывает пиво и спрашивает бармена, как страна поживает, как развивается, какие проблемы решает.
Бармен удивлённо:
- Какие проблемы могут быть? Мы же Великая империя, всё кругом наше.
- Как наше? А Ирак, Афганистан?
- Да уже всё наше!
- А Европа, Африка, Ближний Восток?
Бармен достаёт из-под стойки глобус и гордо крутит его:
- Я же говорю - мы империя, весь мир принадлежит нам!
Обама, радостный, гордый и довольный, допивает пиво и говорит:
- Ну, спасибо, друг! Сколько с меня?
Бармен:
- Один рубль и двадцать копеек...
На самом деле отрицательных чисел не существует, есть только положительные числа и есть операция вычитания. Иначе намажьте одну отрицательную колбасу на один отрицательный хлеб.
ЧТО ПРОИСХОДИТ БЛЬЪЬЬВ
Кайф