Добрый час, Ваши лекции очень познавательные, не могли бы Вы сделать лекцию в плане практического программного применения, на языке ассемблер, конвертирования дробных десятичных в двоичные и обратно. Детально разобраться в коде, просто копировать нет желания хочется понять. Как отделяется целая часть от дробной программно. Не получается сохранять в память температуру до десятых. Спасибо большое за Ваш труд.
Исповедуйтесь, Причащайтесь, ходите в Храм и беседуйте со священником, молитесь чаще и ходите на Литургию, творите добро, воздерживайтесь от грехов и кайтесь. ➡️поделитесь этим советом со всеми, так вы помогаете проповеди Православной Веры! Спаси Господи
а каким образом реализуется вычитание большего числа из меньшего так чтобы на выходе сумматора было отрицательное число , как будет выглядеть логическая схема в данном случае?? т.е как схема будет определять то что вычитаемое больше уменьшаемого и результат будет отрицательным?
Схема просто сложит числа как обычно, ничего не зная об их отрицательности. Однако, микропроцессор имеет регистр флагов, в котором, кроме прочих, есть флаг знака, который указывает, как интерпретировать операнд для текущей операции и результат. И потом уже на уровне программного обеспечения будет приниматься решение, учитывать флаг знака или нет.
Здравствуйте.Извиняюсь я не понял результат сложения на 8:00-8:03 минутах.Нули с нулями дают нули-понял,нули с единицами дают единицы-понял.Но почему в результате сложения нулевых битов 1+1=0, а первых битов 0+0=1.Если кому не трудно растолкуйте пожалуйста.Спасибо.
Снимаю перед вами шляпу , спасибо вам большое. Однако у меня есть вопрос , вот вы получили -у (11110110) и как мне его отличить от положительного числа с таким же набором единиц и нулей ? Я даже в калькулятор вбил это двоичное число и оно равно 246 , хотя у вас -у , то есть -10. Как тут быть гражданин лектор? Заранее благодарю за ответ.
Байт - это просто набор 1 и 0 битов. Число из байта - это наша трактовка этого набора. Если мы считаем что число может быть отрицательным, то старший бит определяет его знак, а если мы думаем, что в байте может быть только положительное число, то старший бит берем с положительным весом. Т.о. , мы считаем, что 11110110 = -10 в первом случае или 246 во втором случае
Это в зависимости как вы заранее условитесь, будут ли у вас со знаком минус или без, то есть положительное число. Если без знака то те же 8 бит попадают в диапазон от 0 до 255, если со знаком то от -128 до 127 и все отрицательные числа до нуля будут начинаться с единицы а положительные соответственно с нуля.
Показанная вами схема для получения дополнительного кода - не совсем рациональна для вычитания. Зачем прибавлять единицу здесь? Если вам нужно вычислить X - Y, то в сумматор Y протаскиваете инверсию, X напрямую, а единицу делаете за счет того, что вместо земли к переносу младшего байта даете сигнал. Разве не замечательно?))) И тогда нам не придется выполнять дополнительный такт, и тогда у нас вычитание выполняется также быстро, как и сложение.