Информатика. Архитектура ПК: Представление целых чисел в памяти ПК. Центр онлайн-обучения «Фоксфорд»

แชร์
ฝัง
  • เผยแพร่เมื่อ 21 ธ.ค. 2024

ความคิดเห็น • 109

  • @RomanEngine
    @RomanEngine 9 ปีที่แล้ว +259

    Красавэлчик. За 10 минут объяснил на 100% лучше, чем за полтора часа на паре в универе.

    • @ILyaWet
      @ILyaWet 6 ปีที่แล้ว

      +

    • @randomize4097
      @randomize4097 6 ปีที่แล้ว +3

      Странно что в универе ты этого не знаешь, это школьная тема.

    • @b-ecky__
      @b-ecky__ 5 ปีที่แล้ว +8

      @@randomize4097 смешно
      Мы в школе месяц назад изучали, как делать презентации(не какие-то фишки PowerPoint'а, а просто то, как их создавать), сейчас создание сайтов начали изучать (самую банальщину по типу сайтов года из 2007). До этого рисовали открыточки в Paint'е. 11 класс, 2 семестр, скоро школу оканчивать.

    • @cestunpetitfantome
      @cestunpetitfantome 5 ปีที่แล้ว +2

      @@b-ecky__ афигеть, мы в 7 уже писали программы простые, а сейчас сайт пишем (я в 8)

    • @djfreegat7243
      @djfreegat7243 5 ปีที่แล้ว

      @@b-ecky__ Куда поступил?

  • @ОляСуханова-г2ь
    @ОляСуханова-г2ь 6 ปีที่แล้ว +60

    Да, посмотрев это шикарное объяснение поняла, что наш учитель вообще ничего толком не объяснил.спасибо))

    • @my_learning_spaceship
      @my_learning_spaceship ปีที่แล้ว +1

      Конечно, сравнивать каждого учителя и Хирьянова, который сперва в мфти преподавал, потом присоединился к фоксфорду...
      Да не в каждом хорошем вузе таких преподавателей больше десятка, кто живёт преподаванием

  • @arsenshmid
    @arsenshmid 2 ปีที่แล้ว +12

    За 10 минут объяснил лучше, чем препод в универе за 6 месяцев! Почему у нас преподы не такие крутые, как он, эх

    • @xmfuture2200
      @xmfuture2200 2 ปีที่แล้ว

      да2, в точку!

  • @doctorzuck2009
    @doctorzuck2009 6 ปีที่แล้ว +61

    Ля, кто то щас в универе, а нам это в школе в 7-8 класс изучать надо ...

    • @DioMayweather
      @DioMayweather 6 ปีที่แล้ว +1

      10 класс повторяем если хочешь в 11 учи нормально!)

    • @doctorzuck2009
      @doctorzuck2009 6 ปีที่แล้ว +1

      @@DioMayweather я информатику сдавать не буду, не хочу программистом быть, спасибо

    • @djfreegat7243
      @djfreegat7243 5 ปีที่แล้ว +4

      @@doctorzuck2009 согласен, сам учусь на прграммиста, не советую ни кому.

    • @violette3768
      @violette3768 3 ปีที่แล้ว

      Я сейчас в 7-мои классе, у нас уже преподают

    • @nik-rm3nc
      @nik-rm3nc ปีที่แล้ว

      @@doctorzuck2009 куда поступил в итоге?)А так...в тех вузах везде есть инфа и программирование

  • @aliyaorazalina7913
    @aliyaorazalina7913 8 ปีที่แล้ว +22

    Классный урок, для Универа то что нужно) спасибо большое!!!! Продолжайте снимать подобные видео

    • @4aKaLaKa
      @4aKaLaKa ปีที่แล้ว

      Спасибо, мужик

  • @OlegVyazovichenko
    @OlegVyazovichenko 3 หลายเดือนก่อน

    0:20 без знаковые и знаковые числа
    0:25 запись беззнакового в память (0-255)
    3:05 знаковые (запись в память)
    3:20 знаковые-прямой код (-127...127)
    4:40 знаковые-обратный код (-127...27)
    6:20 дополнительный код (-128...127)
    8:20 преимущество доп.кода

  • @TwentyNine97
    @TwentyNine97 2 ปีที่แล้ว +3

    Объяснение лучше, чем на курсах программирования)

    • @ВладимирНиколаевич-ь4о
      @ВладимирНиколаевич-ь4о 3 หลายเดือนก่อน

      Значит хреновые курсы, бегите оттуда. Или вы просто на этих курсах были не внимательны.

  • @GeeksSmartHome
    @GeeksSmartHome 5 ปีที่แล้ว +4

    Я читал Computer Science an overview, на тот момент для меня сложной была двоичная система, но когда я увидел two's complement, я просто ох##ел, я подумал здесь я брошу все к черту... Спасибо за Ваш урок, лучшее объяснение двоичного дополнительного кода и смысла его применения, по сути он сложнее просто двоичной системы счисления, но придуман чтобы упростить архитектуру процессора... 🔥🔥🔥

  • @ДмитрийСергеевичМатвеев
    @ДмитрийСергеевичМатвеев 9 ปีที่แล้ว +16

    На 4.15-4.20 оговорился? "Если у меня число положительное, то отрицательное число в прямом коде будет выглядеть точно так же как беззнаковое число, а отрицательное будет отличаться".
    Тема раскрыта очень хорошо - только суть, на что и требуется обращать внимание.

  • @stepanbazrov6330
    @stepanbazrov6330 4 ปีที่แล้ว +6

    А где объяснение, почему сложение после преобразования будет работать правильно?

  • @Mugnum_
    @Mugnum_ 6 ปีที่แล้ว +8

    Обращу внимание, что при переводе, обратный код инвертируется только для отрицательных чисел.
    Если пк положителен, то ок его просто повторяет (напр. 0,1000пк = 0,1000ок).

    • @ВладимирНиколаевич-ь4о
      @ВладимирНиколаевич-ь4о 3 หลายเดือนก่อน

      Ну, если вы из прямого кода переводите в обратный код, то да, будет отличаться только представление для отрицательных чисел. Нужно инвертировать биты модуля числа.
      Но если в обратном коде вам нужно из отрицательного числа получить положительное, то вы точно так же инвертируете биты исходного числа в обратном коде. Получите положительное число в ОК, которое совпадает с ПК. То есть, инвертирование битов это процедура смены знака числа в ОК.

  • @spyo_o
    @spyo_o 2 หลายเดือนก่อน

    А как записать 158 например, сколько битов надо брать?

  • @aurumof
    @aurumof 4 ปีที่แล้ว +5

    Блин, ну скажите ещё раз, мне бестолковому, почему диапазон в дополнительном коде увеличивается на единицу ?

    • @murloteg
      @murloteg 2 ปีที่แล้ว +3

      Хоть и спустя год, но может быть кому-то будет полезно.. Рассмотрим, например, доп. код для одного байта (8 бит). Старший бит - знаковый. Тогда имеем, что самое минимальное число, записанное в доп. коде имеет следующее двоичное представление: 1000 0000 = -(2^7) = -128. Почему не 1111 1111? Всё просто: представлению из всех 8-ми единиц будет соответствовать: число -(2^7) + 2^6 + 2^5 + 2^4 + 2^3 + 2^2 + 2^1 + 2^0 = -1, что явно больше -128.
      Наибольшее же число в доп. коде будет иметь двоичное представление: 0111 1111 = 127.
      Как-то так.

  • @my_learning_spaceship
    @my_learning_spaceship ปีที่แล้ว

    Спасибо тимофею фёдоровичу хирьянову за всё ❤

  • @antongreen5903
    @antongreen5903 7 หลายเดือนก่อน +1

    А как процессор узнает где обычный бит, а где знаковый?

    • @ВладимирНиколаевич-ь4о
      @ВладимирНиколаевич-ь4о 3 หลายเดือนก่อน

      У него для работы со знаковыми и беззнаковыми числами отдельные инструкции/опкоды. Когда число лежит в регистре по нему уже не скажешь его старший бит это знаковый бит или цифровой. Так что все определяется правильностью описания типа переменной в исходном коде программы и правильностью компиляции под нужный процессор с определённой системой команд.

    • @ВладимирНиколаевич-ь4о
      @ВладимирНиколаевич-ь4о 3 หลายเดือนก่อน

      А если вопрос о том как процессор понимает откуда брать знак если число заведомо со знаком, то тут вопросов нет - это всегда самый старший бит, крайний левый.

    • @antongreen5903
      @antongreen5903 3 หลายเดือนก่อน

      @@ВладимирНиколаевич-ь4о Спасибо за ответ, хоть и запоздалый.

    • @ВладимирНиколаевич-ь4о
      @ВладимирНиколаевич-ь4о 3 หลายเดือนก่อน

      @@antongreen5903 интернет приучил к немедленным ответам?

    • @antongreen5903
      @antongreen5903 3 หลายเดือนก่อน

      @@ВладимирНиколаевич-ь4о эх, если бы.

  • @petrova7184
    @petrova7184 4 ปีที่แล้ว +2

    пиво пиво водочка плывет по морю лодочка

  • @saint8283
    @saint8283 5 ปีที่แล้ว +2

    Уже практически написал приложение для умного дома на .NET, но только после этого видео реально понял как представляются знаковые числа в байтах))) Спасибо огромное!

  • @BlackStyle828
    @BlackStyle828 9 ปีที่แล้ว +1

    Вай, Братишка, ты красаучик максимальный, аййй, спасибо большой тебе!

  • @prysluv314
    @prysluv314 3 หลายเดือนก่อน

    Но почему число в конце обратного когда 01 а не 00 я не понял

  • @GeeksSmartHome
    @GeeksSmartHome 4 ปีที่แล้ว

    Объясняет неплохо, но вот число 99 неудачное в том смысле, что когда переводишь его в двоичную систему, с какой стороны не пиши, все получится 1100011 и сразу непонятно, после деления в каком порядке остатки записывать. А порядок после деления следующий: последний оставшийся остаток будет первой цифрой, если записывать число слева направо как нам привычно, соответственно первый остаток после самого начального деления числа на 2 - будет последней цифрой в записи числа в двоичной системе. Я наверное тоже объясняю так себе, но так мне лучше запомнилось, может кому поможет.

  • @ilidzh2080
    @ilidzh2080 3 ปีที่แล้ว

    Вот это да, супер, нет слов

  • @ДаниилФьют
    @ДаниилФьют ปีที่แล้ว

    а что в случае числа к примеру 21 и -21, в беззнаковой системе выходит 10101, полностьтю 00010101, теперь берем -21 в прямой код и выходит 10010101, теперь вопрос с обратным кодом, нужно ли инвертировать 2 нуля которые идут после старшого бита или нет?

  • @ЖКХМосква
    @ЖКХМосква 6 หลายเดือนก่อน

    А если число в виде строки введено '1234567890' как программно перевести это в двоичное число.
    Можно на цифры разбить, а потом перемножить соответствующие цифры на 10,100,1000...
    А потом сложить.
    Или можно как-то проще.

  • @marynavoloshyna3624
    @marynavoloshyna3624 4 ปีที่แล้ว

    спасибо огромное, все четко и в одном месте))

  • @АндрейРейф-м4о
    @АндрейРейф-м4о 3 ปีที่แล้ว

    Блин. а я до этого самостоятельно в Майнкрафте доходил .Я увидел схему сумматора, работающего на вычитание. Но сложение и вычитание отрицательных чисел я постигал сам. На моей схеме это было так уменьшаемое с прямым кодом ,вычитаемое с обратным +1 от сумматора, то есть дополнительный код. лишний разряд сообщал о знаке. Но если число меняло знак схема не работала. Я добавил инверсию результата плюс один, то есть дополнительный код. Но чтобы схема работала добавил фильтры и сделал так, чтобы работа одного фильтра прекращала работу второго.

  • @pavelkenov2121
    @pavelkenov2121 7 ปีที่แล้ว +1

    5:35 - не понял всё таки что значит "за вычетом единицы" ?

    • @ПерсонаБезимени
      @ПерсонаБезимени 7 ปีที่แล้ว

      Pavel Kenov 1000 - 1 = 111

    • @Annddrey
      @Annddrey 5 ปีที่แล้ว +1

      имеется в виду, что при 7 битах можно записать числа от 0 до 2^7 - 1 = 128 - 1 = 127

  • @ЛанаЛысенко-ф2ш
    @ЛанаЛысенко-ф2ш 5 ปีที่แล้ว

    Супер объяснение!

  • @kathrinewells9072
    @kathrinewells9072 11 หลายเดือนก่อน

    Спасибо большое!!!

  • @ВладимирПопов-г4т
    @ВладимирПопов-г4т 4 ปีที่แล้ว

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

  • @ЖумагалиевАлишер-с5м
    @ЖумагалиевАлишер-с5м 3 ปีที่แล้ว

    очень интересно ! Спасибо

  • @BPLYATS
    @BPLYATS 6 ปีที่แล้ว +19

    Эх Хирьянов, Хирьянов. Ожидал большего. МФТИ все ж. Объясни, зачем ты взял число 99? Чтобы показать, как переводить его в двоичный код в столбик? Не лучше ли было взять числа 127, -128, 1, -1 и 0? Если добавить к положительному знаковому 127 единицу (в двоичном коде 01111111 + 00000001), получим единицу в седьмом - знаковом разряде байта (10000000). Сразу вопрос: это число -0 (минус ноль) или -128 (минус 128)? В компе это число -128. Почему? Вот с этого и нужно было начать.

  • @черныйребенок
    @черныйребенок 6 ปีที่แล้ว

    спасибо. Очень помогли

  • @ВладимирНиколаевич-ь4о
    @ВладимирНиколаевич-ь4о 3 หลายเดือนก่อน

    Самое главное не рассказали - а зачем, собственно, нужен обратный и дополнительный код и почему не подходит прямой код, который максимально соответствует записи числа в математике - просто взяли положительное число и приписали ему знак.
    А нужен как раз для того, для чего в свое время в математике не хватило натуральных чисел и потребовалось ввести отрицательные числа - 1) для того чтобы выполнять вычитание с любыми парами чисел 2) для того чтобы свести операцию вычитания к операции сложения: a-b = a + (-b)
    Просто для записи отрицательных чисел в компьютере по п.1 достаточно и прямого кода - бит знака приписали и вперёд. Но с реализацией п. 2 можно в АЛУ не реализовывать схемы для вычитания, а только лишь для суммирования. Правда, при этом нужно ещё реализовать блок получения обратного/дополнительного кода для второго операнда 😏 Не сильно упростили, да. А ещё при операциях в обратном коде результат, получается на 1 меньше чем нужно. А ещё возникает отрицательный ноль, в дополнение в положительному нулю. И для того чтобы его забороть теперь уже сложение заменяют на вычитание с обратным кодом второго числа 😏
    И для решения всех этих проблем есть дополнительный код. Казалось бы. Но нет, там свои проблемы, своя магия, и свои договорняки и условности - сюда смотрим, сюда не смотрим, тут бит отбрасываем, а, вот тут - нет. Так же просто как с беззнаковыми, операции в доп коде все равно не получаются.

  • @НиколайСамсонов-ф1м
    @НиколайСамсонов-ф1м 8 ปีที่แล้ว

    Хорошо было бы, еслиб вы рассказали еще про смещенный код. Но в целом урок понравился)

  • @petrova7184
    @petrova7184 4 ปีที่แล้ว

    ребят ну я не поняла про обратный код ,как он инвентируется

    • @crafthands94
      @crafthands94 4 ปีที่แล้ว +1

      знаковый(старший) бит не изменяется, а в остальных битах единица изменяется на ноль, а ноль на единицу.

  • @OOsmy777
    @OOsmy777 9 ปีที่แล้ว

    Просто супер 👍🏼

  • @xabe1
    @xabe1 5 ปีที่แล้ว

    Признаюсь, не ожидал его здесь увидеть :D

  • @Япудш
    @Япудш 5 ปีที่แล้ว

    А как быть с числами больше 127 в дополнительном коде

    • @xabe1
      @xabe1 5 ปีที่แล้ว

      Там потребуется уже несколько байтов

  • @azatsabirov3907
    @azatsabirov3907 ปีที่แล้ว

    Оговорка. Записывать ноль слева значит умножать число на два а не увеличить на два.

  • @vadiful
    @vadiful 4 ปีที่แล้ว

    Молодец!

  • @ИванФамасов-ч8ц
    @ИванФамасов-ч8ц 6 ปีที่แล้ว

    большое спасибо

  • @polymorph5067
    @polymorph5067 3 ปีที่แล้ว

    Вопрос: "Почему при вычитании чисел 4 - 7 в прямом коде, я не могу получить отриц.результат?
    4 -> 0100 (в прямом коде)
    7 -> 0111 (в прямом коде)
    Разность 4 - 7 должна дать 1011, но в результате я получаю 0X11, где X - какое - то значение, которое я не могу получить, т.к "занять" 1 из след.разряда я не могу.

    • @taraspedchenko2922
      @taraspedchenko2922 2 ปีที่แล้ว +1

      потому что вычитание есть сложение с противоположным числом

  • @MrSaintLion
    @MrSaintLion 8 หลายเดือนก่อน

    Пасиб

  • @sashokstudio2568
    @sashokstudio2568 ปีที่แล้ว +1

    Спасибо, я не понял

  • @wasony.126
    @wasony.126 5 ปีที่แล้ว

    Молодец

  • @УмСчастья
    @УмСчастья 7 หลายเดือนก่อน

    thank you

  • @elsexos3456
    @elsexos3456 4 ปีที่แล้ว

    лучший препод по инфе в рунете, настоящий Русский человек.

  • @NoName-sd8xg
    @NoName-sd8xg 4 ปีที่แล้ว

    почему от -128 до 127, а не от -128 до 128?

    • @junovevo4961
      @junovevo4961 4 ปีที่แล้ว +1

      Там от -127 до 127 . Если возьмешь 128 то для знака места не будет

    • @dima_dmitrenok
      @dima_dmitrenok 2 ปีที่แล้ว

      @@junovevo4961 для допкода как раз именно -128..127

  • @maratkafman8789
    @maratkafman8789 6 ปีที่แล้ว

    Thanks

  • @reallyweirdcat
    @reallyweirdcat 5 ปีที่แล้ว

    Красава

  • @garnikpepelyan8760
    @garnikpepelyan8760 4 ปีที่แล้ว

    оксфорд фоксфорд :)

  • @dragonsister2311
    @dragonsister2311 3 หลายเดือนก่อน

    Какая кодировка? (ASCII?) Машинный код бывает разным, около 20 видов 🗿
    Чему учили то?

  • @ИванФамасов-ч8ц
    @ИванФамасов-ч8ц 6 ปีที่แล้ว

    а то я с урока нихрена не понял

  • @ИванФамасов-ч8ц
    @ИванФамасов-ч8ц 6 ปีที่แล้ว

    ну почти

  • @Япудш
    @Япудш 5 ปีที่แล้ว

    Не объяснил для чего нужен обратный код, сначала спросил, потом не ответил(

    • @GeeksSmartHome
      @GeeksSmartHome 5 ปีที่แล้ว

      А суть урока и не в обратном коде, а в дополнительном двоичном коде...

  • @energy7786
    @energy7786 6 ปีที่แล้ว

    th-cam.com/video/g6Y86fAqXEY/w-d-xo.htmlm12s
    "дописывать значащие нули справа, значит завышать это число УВЕЛИЧИВАТЬ ЕГО НА 2" - неверно, не на два, потому что все разряды сдвинутся и 11000110 - это уже 198 в десятиричной

    • @globalpower6967
      @globalpower6967 6 ปีที่แล้ว

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

  • @petrova7184
    @petrova7184 4 ปีที่แล้ว

    ххихихииххихи

  • @Япудш
    @Япудш 5 ปีที่แล้ว +1

    Ужасное объяснение, чё за накрученные комменты

  • @Annddrey
    @Annddrey 5 ปีที่แล้ว +1

    Извините за занудство, но преподаватель должен правильно склонять числительные. Не "от сто двадцать семь", а от стА двадцатИ семИ. Не "до двухста", а до двухсот.

  • @АбдыкеримДоранбеков-з7э
    @АбдыкеримДоранбеков-з7э 4 ปีที่แล้ว

    Пошол на

  • @larq5909
    @larq5909 9 ปีที่แล้ว

    пыталась найти на эту тему видеоурок - лень было самой сто раз объяснять. Посмотрела- чуть не чокнулась. Это кошмар какой-то. Не тратьте время. Для детей не пойдет, он сам в себе рассказывает непонятные вещи, трудно понять чего он хочет донести своим рассказом.

    • @FoxfordRu
      @FoxfordRu  9 ปีที่แล้ว +13

      +Lar Q Напрасно вы так думаете :) Наши студенты любят Тимофея Федоровича Хирьянова, никто еще не говорил, что он объясняет непонятно.

    • @larq5909
      @larq5909 9 ปีที่แล้ว +4

      наверное для студентов это понятно, но это материал 9 класса школы, я знаю детей, как минимум его рассказ должен быть логичным и связным, должно присутствовать понятное для детского восприятия и последовательное объяснение. Я никого не осуждаю, просто для детей это не годится.Каша. Слишком сумбурно.

    • @BlackStyle828
      @BlackStyle828 9 ปีที่แล้ว +8

      +Lar Q Слушай, нормально он рассказывает, я тебе говорю, ааай как красиво

    • @howard8074
      @howard8074 9 ปีที่แล้ว +23

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

    • @ПерсонаБезимени
      @ПерсонаБезимени 7 ปีที่แล้ว +1

      Наоборот, все очень понятно и заходит с первого раза. Сразу видно, что препод разбирается в своём деле

  • @ClinDen1
    @ClinDen1 ปีที่แล้ว

    какой красивый мужчина))

  • @sofiipochta
    @sofiipochta ปีที่แล้ว +1

    спасибо, посмотрела!