Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Представление чисел в компьютере
Числовые данные обрабатываются в компьютере в двоичной системе счисления. Числа хранятся в памяти компьютера в двоичном коде, т.е. в виде последовательности нулей и единиц, и могут быть преобразованы в формате с фиксированной или плавающей запятой. Целые числа хранятся в памяти в формате с фиксированной запятой. При таком формате представления чисел для хранения целых неотрицательных чисел отводится регистр памяти (8 бит). Например, число 110011012 будет храниться в регистре памяти следующем образом:
Максимальное значение целого неотрицательного числа, которое может храниться в регистре в формате с фиксированной запятой, можно определить из формулы: 2n - 1, где n – число разрядов числа. Максимальное число при этом будет равно 28 – 1=25510 = 111111112 и минимальное 010 = 000000002. Таким образом, диапазон изменения целых неотрицательных чисел будет находиться в пределах от 0 до 25510. В отличие от десятичной системы в двоичной системе счисления при компьютерном представлении двоичного числа отсутствуют символы, обозначающие знак числа: положительный (+) или отрицательный (-), поэтому для представления целых чисел со знаком в двоичной системе используются два формата представления числа: формат значения числа со знаком и формат дополнительного кода. В первом случае для хранения целых чисел со знаком отводится два регистра памяти (16 бит), причем старший разряд (крайний слева) используется под знак числа: если число положительное, то в знаковый разряд записывается 0, если число отрицательное, то – 1. Например, число 53610 = 00000010000110002 будет представлено в регистрах памяти в следующем виде:
а отрицательное число -53610 = 10000010000110002 в виде:
Максимальное положительное число или минимальное отрицательное в формате значения числа со знаком (с учетом представления одного разряда под знак) равно 2n-1 – 1 = 216-1 – 1 = 215 – 1 = 3276710 = 1111111111111112 и диапазон чисел будет находится в пределах от -3276710 до 3276710. Наиболее часто для представления целых чисел со знаком в двоичной системе применяется формат дополнительного кода, который позволяет заменить арифметическую операцию вычитания в компьютере операцией сложения, что увеличивает быстродействие микропроцессора. Для представления целых отрицательных чисел в таком формате используется дополнительный код, который представляет собой дополнение модуля отрицательного числа до нуля. Перевод целого отрицательного числа в дополнительный код осуществляется по следующему алгоритму: 1) модуль числа записать прямым кодом в n (n=16) двоичных разрядах; 2) получить обратный код числа (инвертировать все разряды числа, т.е. все единицы заменить на нули, а нули – на единицы); 3) к полученному обратному коду прибавить единицу к младшему разряду.
Пример 19. С помощью программы Калькулятор получить дополнительный код числа -53610 в двоичной системе счисления. Решение. Используем алгоритм перевода целого отрицательного числа в дополнительный код. Введем значение модуля числа -53610, т.е. число 53610. С помощью опционной кнопки Bin преобразуем это число, представленное в десятичной системе счисления, в двоичную систему счисления. Предварительно установите опционную кнопку 2 байта. Нажав кнопку Not калькулятора, получим обратный код числа, а прибавив к обратному коду двоичную единицу, - дополнительный код. Окончательный результат получим в поле окна программы Калькулятор (рис. 10). Можно поступить еще проще: набрав на калькуляторе число -53610 и активизировать кнопку Bin, получить дополнительный код этого числа в двоичной системе счисления.
Необходимо помнить, что дополнительный код положительного числа – само число. Для хранения целых чисел со знаком помимо 16-разрядного компьютерного представления, когда используются два регистра памяти (такой формат числа называется также форматом коротких целых чисел), применяются форматы средних и длинных целых чисел со знаком. Для представления числа в формате средних чисел используется четыре регистра (4´ 8 = 32 бит), а для представления числа в формате длинных чисел – восемь регистров (8´ 8 = 64 бита). Диапазон значений для формата средних чисел равен –(231 – 1) ¼ +(231 – 1). Диапазон значений для формата длинных чисел равен –(263 – 1) ¼ +(263 – 1). Компьютерное представление чисел в формате с фиксированной запятой имеет свои преимущества и недостатки. К преимуществам относятся простота представления чисел и алгоритмов реализации арифметических операций. К недостаткам – конечный диапазон представления чисел, который может быть недостаточным для решения многих задач практического характера. Вещественные числа (конечные и бесконечные десятичные дроби) обрабатываются и хранятся в компьютере в формате с плавающей запятой. При таком формате представления числа положение запятой в записи может изменяться. С изменением порядка запятая в числе смещается, т.е. как бы плавает вправо или влево. Любое вещественное число К в формате с плавающей запятой может быть представлено в виде: (11) где A – мантисса числа, h – основание системы счисления, р – порядок числа. Выражение (11) примет вид для системы счисления: · двоичной ; · десятичной ; · восьмеричной ; · шестнадцатеричной . Формат представления чисел с плавающей запятой также называют естественно математической формой. Но эта форма записи десятичных чисел не используется при вводе их в компьютер (устройство ввода компьютеров воспринимают только экспоненциальную форму записи данных). Исходя из этого выражение (11) для представления десятичных чисел и ввода их в компьютер преобразовываются к экспоненциальному виду: (12) где p – порядок числа. В экспоненциальной записи представления десятичных чисел вместо основания системы счисления 10 пишут букву Е, вместо запятой – точку, и знак умножения не ставится.
Пример 20. Запишите десятичное число 15, 5 в формате с плавающей запятой (естественно математическая форма) и экспоненциальной форме (компьютерное представление).
|