Аудит / Институциональная экономика / Информационные технологии в экономике / История экономики / Логистика / Макроэкономика / Международная экономика / Микроэкономика / Мировая экономика / Операционный анализ / Оптимизация / Страхование / Управленческий учет / Экономика / Экономика и управление народным хозяйством (по отраслям) / Экономическая теория / Экономический анализ Главная Экономика Информационные технологии в экономике
Е.А. РАКИТИНА, В.Л. ПАРХОМЕНКО. ИНФОРМАТИКА И ИНФОРМАЦИОННЫЕ СИСТЕМЫ В ЭКОНОМИКЕ. ЧАСТЬ 1, 2005 | |
Различия в представлении целых и вещественных чисел |
|
Целые и вещественные числа представляются в памяти компьютера по-разному. Мало научиться записывать числа, важно облегчить процесс автоматизированного выполнения арифметических действий над числами. Вернемся к первым ЭВМ. Основным видом их "деятельности" были вычисления, но объем оперативной памяти и быстродействие процессора были невелики, и инженерам приходилось придумывать разнообразные способы экономного хранения и обработки чисел, чтобы даже сложные расчеты выполнялись за разумное время. Операции над целыми числами выполнять проще, но зато в реальной практике измерения в целых числах встречаются не так уж часто. Поэтому для целых чисел решено было отводить по одной или две ячейки памяти - один или два байта. Один байт чаще всего отводился для всевозможных счетчиков, т.е. для представления целых положительных чисел. Максимальным десятичным числом, которое можно было закодировать таким образом было 25510 = 111111112 = 28 - 1. Для представления положительных и отрицательных целых чисел отводилось два байта (16 бит). Признаком, передающим знак числа, было выбрано значение самого старшего бита: 0 означает, что закодировано положительное число, 1 - отрицательное. Максимальным десятичным числом, которое можно было закодировать таким образом было 3276710 = 01111111 111111112 = 215 - 1. С вещественными числами дело обстоит немного сложнее, поскольку надо было придумать способ, одинаковый для кодирования и больших, и маленьких чисел, т.е. и миллион (1000000), и одну миллионную (0,000001) хотелось бы кодировать посредством одного и того же алгоритма. В соответствии с принципом позиционности любое десятичное число можно представить как некоторую степень десяти. Пример 1000000 = 0,1 * 107 0,000001 = 0,1 * 10-5 -123,45 = -0,123 45 * 103. Такое представление чисел называется записью с плавающей точкой (запись 123,45 - запись с фиксированной точкой). В этой записи число имеет четыре характеристики: знак числа; знак порядка; порядок (степень числа 10); мантисса (дробная часть числа). При двоичном кодировании необходимо все эти характеристики как-то отразить. Было решено отводить под вещественные числа 4 байта (32 бита). Три младших байта отводилось под запись мантиссы, а старший байт включал в себя: один (старший) бит - знак числа: 0 - положительное, 1 - отрицательное; один бит - знак порядка: 0 - положительный, 1 - отрицательный; младшие 6 бит - порядок числа. Если порядок числа был равен 1111112 = 6310, то, следовательно, максимальным числом, которое можно было закодировать таким образом, было 1063. Пример Число -123,45i0 = -0,12345 103 в памяти компьютера будет представлено так: В настоящее время, когда быстродействие процессоров и объем оперативной памяти достаточно велики, а обычной разрядностью компьютеров становится разрядность в 32 или 64 бита, уже нет жестких требований к использованию экономных кодов для записи чисел. И сейчас имеется возможность проводить расчеты, величины в которых могут превосходить 1063 во много раз. |
|
<< Предыдушая | Следующая >> |
= К содержанию = | |
Похожие документы: "Различия в представлении целых и вещественных чисел" |
|
|