Память компьютера состоит из ячеек которые состоят из разрядов битов для хранения чисел используют
На уроках математики вы никогда не обсуждали, как хранятся числа. Математика — это теоретическая наука, для которой совершенно не важно, записаны они на маленьком или большом листе бумаги, зафиксированы с помощью счётных палочек, счётов, или внутри полупроводниковой схемы. Поэтому число в математике может состоять из любого количества цифр, которое требуется в решаемой задаче.
В то же время инженеры, разрабатывающие компьютер, должны спроектировать реальное устройство из вполне определённого количества деталей. Поэтому число разрядов, отведённых для хранения каждого числа, ограничено, и точность вычислений тоже ограничена. Из-за этого при компьютерных расчётах могут возникать достаточно серьёзные проблемы. Например, сумма двух положительных чисел может получиться отрицательной, а выражение А + В может совпадать с А при ненулевом В. В этой главе мы рассмотрим важные особенности компьютерной арифметики, которые нужно учитывать при обработке данных. В первую очередь, они связаны с тем, как размещаются целые и вещественные числа в памяти компьютера.
Предельные значения чисел
Как вы уже поняли, числа, хранящиеся в компьютере, не могут быть сколь угодно большими и имеют некоторые предельные значения. Представим себе некоторое вычислительное устройство, которое работает с четырехразрядными неотрицательными целыми десятичными числами (рис. 4.1). Для вывода чисел используется четырёхразрядный индикатор, на котором можно отобразить числа от 0 (все разряды числа минимальны) до 9999 (все разряды максимальны) — рис. 4.2.
Рис. 4.1
Рис. 4.2
Вывести на такой индикатор число 10 000 невозможно: не хватает технического устройства для пятого разряда. Такая «аварийная» ситуация называется переполнением разрядной сетки или просто переполнением (англ, overflow — переполнение «сверху»).
Переполнение разрядной сетки — это ситуация, когда число, которое требуется сохранить, не умещается в имеющемся количестве разрядов вычислительного устройства.
В нашем примере переполнение возникает при значениях, больших 9999 = 10 4 - 1, где 4 — это количество разрядов. В общем случае, если в системе счисления с основанием В для записи числа используется К разрядов, максимальное допустимое число Стах вычисляется по аналогичной формуле 1
1 Докажите эту формулу самостоятельно, например, подсчитав количество всех возможных комбинаций значений цифр в К разрядах.
Именно эта формула для В = 2 неоднократно применялась в главе 2.
Подчеркнём, что переполнение никак не связано с системой счисления: оно вызвано ограниченным количеством разрядов устройства и не зависит от количества возможных значений в каждом из этих разрядов.
Рассмотрим теперь, что получится, если наше устройство будет работать не только с целыми, но и с дробными числами. Пусть, например, один из четырёх разрядов относится к целой части числа, а остальные три — к дробной (рис. 4.3). Конечно, эффект переполнения сохранится и здесь: максимально допустимое число равно 9,999. Кроме того, дробная часть числа тоже ограничена, поэтому любое число, имеющее более трёх цифр после запятой, не может быть представлено точно: младшие цифры придётся отбрасывать (или округлять).
Рис. 4.3
Не все вещественные числа могут быть представлены в компьютере точно.
При ограниченном числе разрядов дробной части существует некоторое минимальное ненулевое значение Cmin, которое можно записать на данном индикаторе (в нашем примере это 0,001, рис. 4.4). В общем случае, если число записано в системе счисления с основанием В и для хранения дробной части числа используется F разрядов, имеем
Рис. 4.4
Любое значение, меньшее чем Cmin, неотличимо от нуля. Такой эффект принято называть антипереполнением (англ. underflow — переполнение «снизу»).
Кроме того, два дробных числа, отличающиеся менее чем на Cmin, для компьютера неразличимы. Например, 1,3212 и 1,3214 на нашем индикаторе выглядят совершенно одинаково (рис. 4.5).
Рис. 4.5
Дополнительная погрешность появляется при переводе дробных чисел из десятичной системы счисления в двоичную. При этом даже некоторые «круглые» числа (например, 0,2) в памяти компьютера представлены неточно, потому что в двоичной системе они записываются как бесконечные дроби и их приходится округлять до заданного числа разрядов.
Так как вещественные числа хранятся в памяти приближённо, сравнивать их (особенно если они являются результатами сложных расчётов) необходимо с большой осторожностью. Пусть при вычислениях на компьютере получили X =10 -6 и Y = 10 6 . Дробное значение X будет неточным, и произведение X • Y может незначительно отличаться от 1. Поэтому при сравнении вещественных чисел в компьютере условие «равно» использовать не рекомендуется. В таких случаях числа считаются равными, если их разность достаточно мала по модулю. В данном примере нужно проверять условие |1 - Х • Y| < ε, где ε — малая величина, которая задаёт нужную точность вычислений. К счастью, для большинства практических задач достаточно взять Е порядка 10 -2 . 10 -4 , а ошибка компьютерных расчётов обычно значительно меньше 2 (не более 10 -7 ).
2 Тем не менее встречаются ситуации, когда вычислительные трудности все же возникают: классический пример — разность близких по значению десятичных дробей, отличающихся в последних значащих цифрах.
Введение разряда для знака числа не меняет сделанных выше выводов, только вместо нулевого минимального значения появляется отрицательное, которое зависит от разрядности (оно равно -9999 в первом из обсуждаемых примеров).
Следующая страница Различие между вещественными и целыми числами
Cкачать материалы урока
Оперативная память компьютера состоит из ячеек, каждая из которых представляет собой физическую систему, состоящую из некоторого числа однородных элементов. Эти элементы обладают двумя устойчивыми состояниями, одно из которых соответствует нулю, а другое — единице. Каждый такой элемент служит для хранения одного из битов — разряда двоичного числа. Именно поэтому каждый элемент ячейки называют битом или разрядом (рис. 1.2).
Рис. 1.2. Ячейка памяти
Для компьютерного представления целых чисел используется несколько различных способов, отличающихся друг от друга количеством разрядов (под целые числа обычно отводится 8, 16, 32 или 64 разряда) и наличием или отсутствием знакового разряда. Беззнаковое представление можно использовать только для неотрицательных целых чисел, отрицательные числа представляются только в знаковом виде.
Беззнаковое представление используется для таких объектов, как адреса ячеек, всевозможные счётчики (например, число символов в тексте), а также числа, обозначающие дату и время, размеры графических изображений в пикселях и т. д.
Максимальное значение целого неотрицательного числа достигается в случае, когда во всех разрядах ячейки хранятся единицы. Для n-разрядного представления оно будет равно 2 n -1. Минимальное число соответствует п нулям, хранящимся в n разрядах памяти, и равно нулю.
Ниже приведены максимальные значения для беззнаковых целых n-разрядных чисел:
Для получения компьютерного представления беззнакового целого числа достаточно перевести число в двоичную систему счисления и дополнить полученный результат слева нулями до стандартной разрядности.
Пример 1. Число 5310 = 1101012 в восьмиразрядном представлении имеет вид:
Это же число 53 в шестнадцати разрядах будет записано следующим образом:
При представлении со знаком самый старший (левый) разряд отводится под знак числа, остальные разряды — под само число. Если число положительное, то в знаковый разряд помещается 0, если число отрицательное — 1. Такое представление чисел называется прямым кодом.
В компьютере прямые коды используются для хранения положительных чисел в запоминающих устройствах, для выполнения операций с положительными числами.
Список вопросов теста
Вопрос 1
Ячейка оперативной памяти - это .
- физическая система, которая состоит из некоторого числа однородных элементов.
- устройство, предназначенное для приёма, записи, хранения и выдачи информации.
- автоматическое, программно-управляемое устройство для работы с информацией.
Вопрос 2
Какие существуют виды представления целых чисел в компьютере?
- Беззнаковое.
- Знаковое
- Определённое.
- Неопределённое.
Вопрос 3
Для каких целых чисел можно использовать беззнаковое представление?
- Для всех целых чисел.
- Для неотрицательных чисел.
- Для отрицательных чисел.
- Для вещественных чисел.
Вопрос 4
Для каких чисел используется знаковое представление?
- Для неотрицательных целых чисел.
- Для отрицательных целых чисел.
- Для вещественных чисел.
- Для рациональных чисел.
Вопрос 5
Укажите правильных порядок действий в алгоритме для получения дополнительного кода целого отрицательного числа.
- Записать прямой код модуля числа.
- Инвертировать его.
- Прибавить к инверсному коду единицу.
Вопрос 6
Как называется формула, предоставленная на рисунке?
- Экспоненциальная форма записи числа.
- Развёрнутая форма записи числа.
- Свёрнутая форма записи числа.
Вопрос 7
Сколько разрядов обычно отводится в компьютере под целое число?
- 8 разрядов.
- 16 разрядов.
- 32 разряда.
- 64 разряда.
- 24 разряда.
Вопрос 8
Сколько разрядов обычно отводится в компьютере под вещественное число?
- 8 разрядов.
- 16 разрядов.
- 32 разряда.
- 64 разряда.
- 24 разряда.
Вопрос 9
Для какого вида представления чисел предназначен данный тип ячейки оперативной памяти?
- Беззнакового.
- Знакового.
- Положительно.
- Отрицательного.
Вопрос 10
Для какого вида представления чисел предназначен данный тип ячейки оперативной памяти?
Вопросы и задания
2. Как в памяти компьютера представляются целые положительные и отрицательные числа?
3. Любое целое число можно рассматривать как вещественное, но с нулевой дробной частью. Обоснуйте целесообразность наличия особых способов компьютерного представления целых чисел.
а) 01001100;
б) 00010101.
7. Запишите следующие числа в естественной форме:
а) 0,3800456 • 10 2 ;
б) 0,245 • 10 -3 ;
в) 1,256900Е+5;
г) 9,569120Е-3.
8. Запишите число 2010,010210 пятью различными способами в экспоненциальной форме.
9. Запишите следующие числа в экспоненциальной форме с нормализованной мантиссой — правильной дробью, имеющей после запятой цифру, отличную от нуля:
10. Изобразите схему, связывающую основные понятия, рассмотренные в данном параграфе.
1.2.2. Представление вещественных чисел
Любое вещественное число А может быть записано в экспоненциальной форме:
где:
m — мантисса числа;
q — основание системы счисления;
p — порядок числа.
Например, число 472 000 000 может быть представлено так: 4,72 • 10 8 , 47,2 • 10 7 , 472,0 • 10 6 и т. д.
С экспоненциальной формой записи чисел вы могли встречаться при выполнении вычислений с помощью калькулятора, когда в качестве ответа получали записи следующего вида: 4.72Е+8.
Здесь знак «Е» обозначает основание десятичной системы счисления и читается как «умножить на десять в степени».
Из приведённого выше примера видно, что положение запятой в записи числа может изменяться.
Для единообразия мантиссу обычно записывают как правильную дробь, имеющую после запятой цифру, отличную от нуля. В этом случае число 472 000 000 будет представлено как 0,472 • 10 9 .
Вещественное число может занимать в памяти компьютера 32 или 64 разряда. При этом выделяются разряды для хранения знака мантиссы, знака порядка, порядка и мантиссы.
Пример:
Диапазон представления вещественных чисел определяется количеством разрядов, отведённых для хранения порядка числа, а точность определяется количеством разрядов, отведённых для хранения мантиссы.
Максимальное значение порядка числа для приведённого выше примера составляет 11111112 = 12710, и, следовательно, максимальное значение числа:
0,11111111111111111111111 • 10 1111111
Попытайтесь самостоятельно выяснить, каков десятичный эквивалент этой величины.
Широкий диапазон представления вещественных чисел важен для решения научных и инженерных задач. Вместе с тем следует понимать, что алгоритмы обработки таких чисел более трудоёмки по сравнению с алгоритмами обработки целых чисел.
САМОЕ ГЛАВНОЕ
Для компьютерного представления целых чисел используются несколько различных способов, отличающихся друг от друга количеством разрядов (8, 16, 32 или 64) и наличием или отсутствием знакового разряда.
Для представления беззнакового целого числа его следует перевести в двоичную систему счисления и дополнить полученный результат слева нулями до стандартной разрядности.
При представлении со знаком самый старший разряд отводится под знак числа, остальные разряды — под само число. Бели число положительное, то в знаковый разряд помещается 0, если число отрицательное, то 1. Положительные числа хранятся в компьютере в прямом коде, отрицательные — в дополнительном.
При хранении в компьютере вещественных чисел выделяются разряды на хранение знака порядка числа, самого порядка, знака мантиссы и мантиссы. При этом любое число записывается так:
где:
m — мантисса числа;
q — основание системы счисления;
p — порядок числа.
Урок 6. Представление целых чисел. Представление вещественных чисел
Представление целых чисел.
Оперативная память компьютера состоит из ячеек, каждая из которых представляет собой физическую систему, состоящую из некоторого числа однородных элементов. Эти элементы обладают двумя устойчивыми состояниями, одно из которых соответствует нулю, а другое — единице. Каждый такой элемент служит для хранения одного из битов — разряда двоичного числа. Именно поэтому каждый элемент ячейки называют битом или разрядом.
Для компьютерного представления целых чисел используется несколько различных способов, отличающихся друг от друга количеством разрядов (под целые числа обычно отводится 8, 16, 32 или 64 разряда) и наличием или отсутствием знакового разряда.
Беззнаковое представление можно использовать только для неотрицательных целых чисел, отрицательные числа представляются только в знаковом виде.
Беззнаковое представление используется для таких объектов, как адреса ячеек, всевозможные счётчики (например, число символов в тексте), а также числа, обозначающие дату и время, размеры графических изображений в пикселях и т. д. Максимальное значение целого неотрицательного числа достигается в случае, когда во всех разрядах ячейки хранятся единицы.
Для n-разрядного представления оно будет равно 2 n -1. Минимальное число n соответствует нулям, хранящимся в n-разрядах памяти, и равно нулю. Ниже приведены максимальные значения для беззнаковых целых n-разрядных чисел:
Для получения компьютерного представления беззнакового целого числа достаточно перевести число в двоичную систему счисления и дополнить полученный результат слева нулями до стандартной разрядности.
При представлении со знаком самый старший (левый) разряд отводится под знак числа, остальные разряды — под само число. Если число положительное, то в знаковый разряд помещается 0, если число отрицательное —1. Такое представление чисел называется прямым кодом. В компьютере прямые коды используются для хранения положительных чисел в запоминающих устройствах, для выполнения операции с положительными числами.
Представление вещественных чисел
- 472000000=4,72⋅10 8
- 472000000=47,2⋅10 7
- 472000000=472,0⋅10 6
С экспоненциальной формой записи чисел вы могли встречаться при выполнении вычислений с помощью калькулятора, когда в качестве ответа получали записи следующего вида:4,72E+8.
Здесь знак E обозначает основание десятичной системы счисления и читается как «умножить на десять в степени». Из приведённого выше примера видно, что положение запятой в записи числа может изменяться. Для единообразия мантиссу обычно записывают как правильную дробь, имеющую после запятой цифру, отличную от нуля. В этом случае число 472000000 будет представлено как 0,472⋅10 9 .
Вещественное число может занимать в памяти компьютера 32 или 64 разряда. При этом выделяются разряды для хранения знака мантиссы, знака порядка, порядки и мантиссы. Пример:
Диапазон представления вещественных чисел определяется количеством разрядов, отведённых для хранения порядка числа, а точность определяется количеством разрядов, отведённых для хранения мантиссы.
Максимальное значение порядка числа для приведённого выше примера составляет 11111112=12710 и, следовательно, максимальное значение числа: 0,11111111111111111111111⋅10 1111111 .
Широкий диапазон представления вещественных чисел важен для решения научных и инженерных задач. Вместе с тем следует понимать, что алгоритмы обработки таких чисел более трудоёмки по сравнению с алгоритмами обработки целых чисел.
1.2.2. Представление вещественных чисел
Любое вещественное число А может быть записано в экспоненциальной форме:
где:
m — мантисса числа;
q — основание системы счисления;
p — порядок числа.
Например, число 472 000 000 может быть представлено так: 4,72 • 10 8 , 47,2 • 10 7 , 472,0 • 10 6 и т. д.
С экспоненциальной формой записи чисел вы могли встречаться при выполнении вычислений с помощью калькулятора, когда в качестве ответа получали записи следующего вида: 4.72Е+8.
Здесь знак «Е» обозначает основание десятичной системы счисления и читается как «умножить на десять в степени».
Из приведённого выше примера видно, что положение запятой в записи числа может изменяться.
Для единообразия мантиссу обычно записывают как правильную дробь, имеющую после запятой цифру, отличную от нуля. В этом случае число 472 000 000 будет представлено как 0,472 • 10 9 .
Вещественное число может занимать в памяти компьютера 32 или 64 разряда. При этом выделяются разряды для хранения знака мантиссы, знака порядка, порядка и мантиссы.
Пример:
Диапазон представления вещественных чисел определяется количеством разрядов, отведённых для хранения порядка числа, а точность определяется количеством разрядов, отведённых для хранения мантиссы.
Максимальное значение порядка числа для приведённого выше примера составляет 11111112 = 12710, и, следовательно, максимальное значение числа:
0,11111111111111111111111 • 10 1111111
Попытайтесь самостоятельно выяснить, каков десятичный эквивалент этой величины.
Широкий диапазон представления вещественных чисел важен для решения научных и инженерных задач. Вместе с тем следует понимать, что алгоритмы обработки таких чисел более трудоёмки по сравнению с алгоритмами обработки целых чисел.
Электронное приложение к уроку
Файлы | Материалы урока | Ресурсы ЭОР |
Cкачать материалы урока
Команды программ и данные хранятся в одной и той же памяти, и внешне в памяти они неразличимы. Распознать команды и данные можно только по способу использования. Это утверждение называют принципом однородности памяти.
Так как представленные в памяти команды и данные внешне неразличимы, то одно и то же значение в ячейке памяти может использоваться и как данные, и как команда в зависимости лишь от способа обращения к нему. Так, если к двоичной последовательности обращаются как к числу, то в ней выделяют поле (область) знака и поле значащих разрядов. Если к двоичной последовательности обращаются как к команде, то в ней выделяют поле кода операции и поле адресов операндов.
Однородность памяти позволяет производить операции не только над данными, но и над командами. Взяв в качестве данных для некоторой программы команды другой программы, в результате её исполнения можно получить команды третьей программы. Данная возможность лежит в основе трансляции — перевода текста программы с языка высокого уровня на язык конкретной вычислительной машины.
Структурно оперативная память компьютера состоит из отдельных битов — однородных элементов, обладающих двумя устойчивыми состояниями, одно из которых соответствует нулю, а другое — единице. Для записи или считывания группы соседних битов объединяются в ячейки памяти, каждая из которых имеет свой номер (адрес).
Команды и данные размещаются в единой памяти, состоящей из ячеек, имеющих свои номера (адреса). Это принцип адресности памяти.
Очень важно, что информация может считываться из ячеек и записываться в них в произвольном порядке, т. е. процессору в произвольный момент доступна любая ячейка памяти. Организованную таким образом память принято называть памятью с произвольным доступом.
Разрядность ячеек памяти (количество битов в ячейке) у компьютеров разных поколений была различной. Основой оперативной памяти современных компьютеров является восьмибитная ячейка. Ячейка такой разрядности может быть использована для работы с одним символом. Для хранения чисел используется несколько последовательных ячеек (четыре — в случае 32-битного числа).
На современных компьютерах может одновременно извлекаться из памяти и одновременно обрабатываться до 64 разрядов (т. е. до восьми байтовых (восьмибитных) ячеек). Это возможно благодаря реализации на них принципа параллельной обработки данных — одновременного (параллельного) выполнения нескольких действий.
Можно выделить два основных требования, предъявляемых к памяти компьютера:
1) объём памяти должен быть как можно больше;
2) время доступа к памяти должно быть как можно меньше.
Создать запоминающее устройство, одновременно удовлетворяющее двум этим требованиям, затруднительно. Действительно, в памяти большого объёма требуемые данные искать сложнее, в результате чего их чтение замедляется. Для ускорения чтения нужно использовать более сложные технические решения, что неизбежно приводит к повышению стоимости всего компьютера. Решение проблемы — использование нескольких различных видов памяти, связанных друг с другом. В этом и состоит суть принципа иерархической организации памяти.
Трудности физической реализации запоминающего устройства высокого быстродействия и большого объёма требуют иерархической организации памяти.
В современных компьютерах используются устройства памяти нескольких уровней, различающиеся по своим основным характеристикам: времени доступа, сложности, объёму и стоимости. При этом более высокий уровень памяти меньше по объёму, быстрее и имеет большую стоимость в пересчёте на байт, чем более низкий уровень. Уровни иерархии взаимосвязаны: все данные на одном уровне могут быть также найдены на более низком уровне.
Большинство алгоритмов обращаются в каждый промежуток времени к небольшому набору данных, который может быть помещён в более быструю, но дорогостоящую и поэтому небольшую память. Использование более быстрой памяти увеличивает производительность вычислительного комплекса.
Главное отличие компьютеров от всех других технических устройств — это программное управление их работой.
Принцип программного управления определяет общий механизм автоматического выполнения программы.
Все вычисления, предусмотренные алгоритмом решения задачи, должны быть представлены в виде программы, состоящей из последовательности команд. Команды представляют собой закодированные управляющие слова, в которых указывается:
• какое выполнить действие;
• из каких ячеек считать операнды (данные, участвующие в операции);
• в какую ячейку записать результат операции.
Команды, входящие в программу, выполняются процессором автоматически в определённой последовательности. При этом выполняется следующий цикл действий:
1) чтение команды из памяти и её расшифровка;
2) формирование адреса очередной команды;
3) выполнение команды.
Этот цикл повторяется до достижения команды, означающей окончание выполнения программы, решающей некоторую конкретную задачу. В современных компьютерах по завершении работы программы управление передаётся операционной системе.
Cкачать материалы урока
Читайте также: