Данному образовательному сайту пришлось несколько раз менять свое имя. С 2011 года доступ к нему обеспечивается по URL
http://educomp.runnet.ru

emc.km.ru (2001-2007) ==> educomp.org.ru (2007-2011) ==> educomp.runnet.ru (2011-...)
Более подробно об истории сайта можно прочитать здесь.


Учебные модели компьютера



Модели (software):

"Е14" (parallel !!!)
"S9PU" (parallel)

Модели (hardware):






Награды сайта
Награды сайта

Малютка: вещественные числа

«Внимательно прочитав набор команд СМ "Малютка", вы не могли не обратить внимание на интригующие слова "Дробная арифметика". Что бы это могло значить? Может, зубодробительно-сложная арифметика?

Давайте немного отвлечемся от СМ "Малютки" и поиграем в загадки-отгадки.

Вопрос первый: "Каково население Земли?"

Вопрос второй: "Каково население вашего города?"

Вопрос третий: "Сколько человек в вашем классе?"

Прежде, чем отвечать, давайте подумаем, а какие должны быть ответы.

Совершенно ясно, что никто не в состоянии дать ответ на первый вопрос с точностью до одного человека. Более того, никому не нужна и точность в миллион человек. Как правило, ответ типа "Пять с половиной миллиардов" будет признан подходящим.

Совсем другое дело, когда речь идет о городе. Здесь, в зависимости от размера города, будут удовлетворительными такие ответы: "1,3 миллиона" или "120 тысяч" или "47 тысяч".

И уж совсем абсолютная точность предполагается при ответе на третий вопрос. (Например, "26 человек").

Несмотря на совершенно разную точность этих трех ответов (с точностью до ста миллионов, ста тысяч, одной тысячи, одного человека), они имеют нечто общее. А именно: все они приведены с двумя значащими цифрами.

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

Теперь вернемся к представлению чисел в СМ "Малютка".

Если ограничиться тем, что мы знаем, то ни о каких больших тысячах и говорить не приходится: максимальное число, которое можно записать в формате целых чисел - 2047. Так происходит потому, что мы резервируем место для всех цифр числа, даже если они нам и не нужны. И если надо увеличить точность, то под число придется отводить не одну, а несколько ячеек. (Другой вопрос, как такие числа обрабатывать с помощью нашего процессора).

А между тем, зачастую нули в конце числа (или его начале, например, в числе 0,00002) нас мало интересуют.

Для того, чтобы работать с особо большими или особо маленькими числами (правда, работать приближенно), в СМ "Малютка" существует формат записи дробных чисел:

NNNN NNNNNNNN
1 разряд
на знак
числа
7 разрядов
на значащие
цифры
1 разрад
на знак
порядка
3 разряда
на порядок

Это означает следующее:

Любое число приближенно представляется в виде некоего небольшого числа с двумя значащими цифрами, умноженного на степень числа 10. Эта степень вместе со своим знаком и занимает самые правые четыре разряда ячейки:
ЧислоПредставление
"со степенью"
Представление в
"Малютке"
12000012*1040C4 = 0000 1100 0100
-120000-12*1048C4 = 1000 1100 0100
0.0001313*10-50DD = 0000 1101 1101
-0.02679-27*10-39BB = 1001 1011 1011

Это представление вряд ли порадовало вас своей простотой и естественностью. Единственное утешение - СМ "Малютка", как и было обещано в рекламе, сама переводит числа в формат дробных чисел и обратно. При этом запрашивается само число и степень десятки, на которую его нужно умножить. За вами, таким образом, остается только преобразование числа к виду "со степенью".

Кроме того, на каждом шаге СМ "Малютка" отображает содержимое сумматора как в двоичном (шестнадцатеричном), так и в десятичном видах. Команда C01 переводит машинное представление дробных чисел в удобочитаемое и выводит его на табло.»


© А.И.Сенокосов, А.Г.Гейн, 1995
Цитируется по книге Сенокосов А.И., Гейн А.Г. "Информатика 8-9" с разрешения авторов
© Оформление Web-страницы Е.А.Еремин, 2010


Автор сайта - Евгений Александрович Еремин (Пермский государственный педагогический университет). e_eremin@yahoo.com