2004-gre-cs-practice-book.pdf/Q27 — различия между версиями
Материал из DISCOPAL
StasFomin (обсуждение | вклад) (Новая страница: « == Вопрос: Q27-4c9f66 == <i>Тут вставьте перевод вопроса. Используйте [https://wiki.4intra.net/Help:%D0%A4%D0%BE%D1%80…») |
StasFomin (обсуждение | вклад) |
||
(не показана одна промежуточная версия этого же участника) | |||
Строка 1: | Строка 1: | ||
− | |||
== Вопрос: Q27-4c9f66 == | == Вопрос: Q27-4c9f66 == | ||
− | + | Центральный процессор имеет арифметический модуль, который складывает байты, а затем устанавливает свои флаговые биты ''V'', ''C'' и ''Z'' следующим образом | |
− | + | ||
− | + | ||
− | + | ||
− | + | * Бит ''V'' устанавливается, если происходит арифметическое переполнение (в арифметике с [https://ru.wikipedia.org/wiki/%D0%94%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%B4 дополнительным кодом]). | |
− | + | * Бит ''C'' устанавливается, если во время операции генерируется перенос из самого старшего бита. | |
− | ( | + | * Бит ''Z'' устанавливается, если результат равен нулю. |
− | + | Каковы значения флагов битов ''V'', ''C'' и ''Z'' после добавления 8-битных байтов «11001100» и «10001111»? | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
+ | === Ответы === | ||
+ | * V=0 C=0 Z=0 | ||
+ | * Правильный ответ: V=1 C=1 Z=0 | ||
+ | * V=1 C=1 Z=1 | ||
+ | * V=0 C=0 Z=1 | ||
+ | * V=0 C=1 Z=0 | ||
=== Объяснение === | === Объяснение === | ||
− | + | {{cstest-source|2004-gre-cs-practice-book.pdf|23|27}} | |
− | {{cstest-source|2004-gre-cs-practice-book.pdf| | + | |
+ | Имитируем обычный сумматор, нуля не будет, переполнение и перенос из старшего бита есть. | ||
+ | |||
+ | 11001100 | ||
+ | 10001111 | ||
+ | -------- | ||
+ | 101011011 | ||
− | + | {{question-ok|[[Участник:StasFomin|StasFomin]] 08:19, 14 декабря 2024 (UTC)}} | |
− | + | [[Категория:Процессорная архитектура]] |
Текущая версия на 08:20, 14 декабря 2024
Вопрос: Q27-4c9f66
Центральный процессор имеет арифметический модуль, который складывает байты, а затем устанавливает свои флаговые биты V, C и Z следующим образом
- Бит V устанавливается, если происходит арифметическое переполнение (в арифметике с дополнительным кодом).
- Бит C устанавливается, если во время операции генерируется перенос из самого старшего бита.
- Бит Z устанавливается, если результат равен нулю.
Каковы значения флагов битов V, C и Z после добавления 8-битных байтов «11001100» и «10001111»?
Ответы
- V=0 C=0 Z=0
- Правильный ответ: V=1 C=1 Z=0
- V=1 C=1 Z=1
- V=0 C=0 Z=1
- V=0 C=1 Z=0
Объяснение
Исходники — вопрос 27 на 23 странице книги «2004-gre-cs-practice-book.pdf»
Имитируем обычный сумматор, нуля не будет, переполнение и перенос из старшего бита есть.
11001100 10001111 -------- 101011011