Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Два простых вопроса по архитектуре ЭВМ

42K
19 ноября 2008 года
parovozik
3 / / 19.11.2008
Помогите, плиз, двух вопросов не хватает, чтобы полностью работу доделать

Какой арифметической операции эквивалентен сдвиг двоичного числа влево на два разряда? Ответ проиллюстрируйте примером.

Я знаю, что сдвиг числа влево на два разряда эквивалентен умножению на 2, а вот с примером проблемы, не могу ничего придумать

Какой адрес хранится в счетчике команд, если в данный момент исполняется однобайтовая команда, находящаяся по адресу 5B3D9H?

Здесь я вообще не знаю, что отвечать

Заранее спасибо.
4.8K
19 ноября 2008 года
anty
89 / / 29.10.2006
чтобы сдвинуть на 1разряд нужно умножить число на 2^1,если на 2а разряда соответственно умножаем на 2^2..... вроде так было на лекциях :D
551
19 ноября 2008 года
Pavia
357 / / 22.04.2004
1)Пример очень прост дороботаешь вывод
13*4=52
1101*100=110100

и 13 shl 2=52
1101<<2=110100
2) Зависит от проца. Либы на тикущию либы на следующую.
42K
03 декабря 2008 года
parovozik
3 / / 19.11.2008
Цитата: Pavia
2) Зависит от проца. Либы на тикущию либы на следующую.



А следующая это какая, не подскажете?

10K
05 декабря 2008 года
vid0169
5 / / 28.10.2008
Цитата: parovozik
Помогите, плиз, двух вопросов не хватает, чтобы полностью работу доделать

Какой арифметической операции эквивалентен сдвиг двоичного числа влево на два разряда? Ответ проиллюстрируйте примером.

Я знаю, что сдвиг числа влево на два разряда эквивалентен умножению на 2, а вот с примером проблемы, не могу ничего придумать

Какой адрес хранится в счетчике команд, если в данный момент исполняется однобайтовая команда, находящаяся по адресу 5B3D9H?

Здесь я вообще не знаю, что отвечать

Заранее спасибо.



1) Сдвиг некоторого целого числа на n разрядов влево эквивалентно умножению этого числа на 2 в степени n. Например

 
Код:
#include <stdio.h>

int main(void)
{
    unsigned value = 5;

    printf("%u", value << 2);

    return 0;
}


Напечатает число 20. То есть 5 << 2 эквивалентно выражению 5 * 2 ^ 2.

2) В счетчике команд будет хранится значение 5B3DАH, то есть 5B3D9H увеличеное на 1, так как текущая выполняемая команда занимает 1 байт, а счетчик адреса всегда указывает на следующую за текущей командой.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог