В чем состоит проблема выбора системы счисления для представления чисел в памяти компьютера

Обновлено: 05.07.2024

Сайт учителя информатики. Технологические карты уроков, Подготовка к ОГЭ и ЕГЭ, полезный материал и многое другое.

Информатика. 10 класса. Босова Л.Л. Оглавление

§13. Представление чисел в компьютере

Самым первым видом данных, с которыми начали работать компьютеры, были числа. ЭВМ первого поколения могли производить только математические расчёты (вычисления).

Из курса информатики основной школы вы помните, что компьютеры работают с целыми и вещественными числами. Их представление в памяти осуществляется разными способами.

13.1. Представление целых чисел

Во многих задачах, решаемых на компьютере, обрабатываются целочисленные данные. Прежде всего, это задачи экономического характера, при решении которых данными служат количества акций, сотрудников, деталей, транспортных средств и др. Целые числа используются для обозначения даты и времени, для нумерации различных объектов: элементов массивов, записей в базах данных, машинных адресов и т. д. По своей природе множество целых чисел дискретно, т. к. состоит из отдельных элементов.

И хотя любое целое число можно рассматривать как вещественное, но с нулевой дробной частью, предусмотрены специальные способы представления целых чисел. Это обеспечивает: эффективное расходование памяти, повышение быстродействия, повышение точности вычислений за счёт введения операции деления нацело с остатком.

Для компьютерного представления целых чисел используется несколько различных способов, отличающихся друг от друга количеством разрядов (под целые числа обычно отводится 8, 16, 32 или 64 разряда) и наличием или отсутствием знакового разряда.

Беззнаковое представление можно использовать только для неотрицательных целых чисел.

Для получения компьютерного представления беззнакового целого числа в n-разрядной ячейке памяти достаточно перевести его в двоичную систему счисления и, при необходимости, дополнить полученный результат слева нулями до n-разрядов.

Например, десятичные числа 130 и 39 в восьмиразрядном представлении будут иметь вид:


Понятно, что существуют ограничения на числа, которые могут быть записаны в n-разрядную ячейку памяти. Максимальное значение целого неотрицательного числа достигается в случае, когда во всех разрядах ячейки хранятся единицы. Для n-разрядного представления оно будет равно 2 n -1. Минимальное число соответствует n нулям, хранящимся в n разрядах памяти, и равно нулю. Далее приведены диапазоны значений для беззнаковых целых n-разрядных чисел:


При знаковом представлении целых чисел старший разряд ячейки отводится под знак (0 — для положительных, 1 — для отрицательных чисел), а остальные разряды — под цифры числа.

Представление числа в привычной для человека форме «знак-величина», при которой старший разряд ячейки отводится под знак, а остальные разряды — под цифры числа, называется прямым кодом.

Например, прямые коды чисел 48 и -52 для восьмиразрядной ячейки равны:



В математике множество целых чисел бесконечно.

Компьютер работает с ограниченным множеством целых чисел.

Прямой код положительного числа отличается от прямого кода равного по абсолютной величине отрицательного числа только содержимым знакового разряда.

В прямом коде числа можно хранить, но выполнение арифметических операций над числами в прямом коде затруднено — оно требует более сложной архитектуры центрального процессора, «умеющего» выполнять не только сложение, но и вычитание, а также «знающего» особый алгоритм обработки не имеющего «веса» знакового разряда. Этих трудностей позволяет избежать использование дополнительного кода.

Чтобы понять сущность дополнительного кода, рассмотрим работу реверсивного счётчика, последовательность показаний которого можно представить в виде замкнутого кольца из чисел (рис. 3.5).


Рис. 3.5. Реверсивный счётчик

При возрастании показаний счётчика до максимального, например до 999, следующими его состояниями должны быть 1000, 1001, 1002 и т. д. Но для изображения старшей единицы в счётчике не хватает разряда, происходит переполнение разрядной сетки. Поэтому мы увидим 000, 001, 002 и т. д.

При убывании показаний счётчика после состояния 000 будут идти 999, 998, 997 и т. д. Но после достижения нуля последовательное вычитание единицы должно давать -1, -2, -3 и т. д.

Будем рассматривать числа 999, 998, 997 как коды чисел -1, -2, -3 и проверим на их примере соотношение: у + (-у) = 0:

1 + 999 = 1000;
2 + 998 = 1000;
3 + 997 = 1000.

С учётом того что единица переполнения теряется, мы, сложив число и код противоположного ему числа, получаем ноль!

Вот ещё несколько примеров:

5-2 = 5 + [-2] = 5 + 998 = 1003;
7-5 = 7 + [-5] = 7 + 995 = 1002.

Для устранения неоднозначности в кольце будем считать половину состояний (0-499) кодами нуля и положительных чисел, а оставшуюся половину (500-999) — кодами отрицательных чисел.

Таким образом, дополнительный код положительного числа совпадает с этим числом, а для отрицательного числа он равен дополнению его величины до числа q n , возникающего при переполнении разрядной сетки. Здесь q — основание системы счисления, n — число разрядов в разрядной сетке.

Рассмотрим алгоритм получения дополнительного n-разрядного кода отрицательного числа:

1) модуль числа представить прямым кодом в n двоичных разрядах;
2) значения всех разрядов инвертировать (все нули заменить единицами, а единицы — нулями);
3) к полученному представлению, рассматриваемому как n-разрядное неотрицательное двоичное число, прибавить единицу.

Пример 1. Найдём 16-разрядный дополнительный код отрицательного числа -201710.


Использование дополнительного кода позволяет свести операцию вычитания чисел к операции поразрядного сложения кодов этих чисел.

Выполним эту операцию в 16-разрядных машинных кодах.

Нам потребуются прямой код числа 48 и дополнительный код числа -2017.


Рассмотрим полученный результат. Это отрицательное число (об этом говорит 1 в знаковом разряде), представленное в дополнительном коде. Перейдём к прямому коду модуля соответствующего числа, по которому сможем восстановить десятичное представление результата.

Прямой код можно получить из дополнительного кода, если применить к нему операцию инвертирования и прибавить единицу.


Получаем: -111101100012 = -1969.

13.2. Представление вещественных чисел

В математике множество вещественных чисел непрерывно, бесконечно и не ограничено.

Попробуйте обосновать это утверждение.

Вещественные числа записываются в естественной или в экспоненциальной форме.

В жизни мы чаще пользуемся естественной формой записи чисел, при которой: число представляется последовательностью десятичных цифр со знаком плюс или минус, знак плюс может опускаться, для разделения целой и дробной частей числа используется запятая.

Например: 12,34; 0,0056; -708,9.

В экспоненциальной форме вещественное число а представляется как а = ± m • q p , где m — мантисса числа, q — основание системы счисления, р — порядок числа.

Например, длину некоторого отрезка, равного 47,8 см, можно записать так:

1) 478 • 10 -1 см;
2) 47,8 • 10 0 см;
3) 4,78 • 10 1 см;
4) 0,478 • 10 2 см;
5) 0,000478 • 10 5 см.

Такое многообразие вариантов записи в экспоненциальной форме одного и того же числа не всегда удобно. Для однозначного представления вещественных чисел в компьютере используется нормализованная форма.

Нормализованная запись отличного от нуля вещественного числа 1) — это запись вида а = ± m • q p , где р — целое число (положительное, отрицательное или ноль), m — дробь, целая часть которой содержит одну значащую (ненулевую) цифру, т. е. 1 ≤ m < q.

1) Стандарт IEEE 754.

Примеры нормализации чисел:

1) 31,415926 = 3,1415926 • 10 1 ;
2) 1000 = 1,0 • 10 3 ;
3) 0,123456789 = 1,23456789 • 10 -1 ;
4) 0,00001078 = 1,078 • 108 -5 ;
5) 1000,00012 = 1,00000012 • 102 11 ;
6) AB,CDEF16 = A,BCDEF16 • 1016 1 .

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


Поясним это на примере калькулятора, который производит вычисления в десятичной системе счисления. Пусть это будет калькулятор с десятью знакоместами на дисплее:

• 6 знакомест отводится под мантиссу (одно знакоместо отводится под знак мантиссы, четыре — под цифры мантиссы, одно — под точку, разделяющую целую и дробную части мантиссы);
• одно знакоместо отводится под символ «Е»;
• три знакоместа отводятся под порядок (одно — под знак порядка, два — под цифры порядка).

У калькуляторов первая значащая цифра, с которой и начинается мантисса, изображается перед точкой.

Число 12,34 в таком калькуляторе будет представлено как +1.234Е+01.

Число 12,35 будет представлено как + 1.235Е+01.

Как известно, между числами 12,34 и 12,35 находится бесконечное множество вещественных чисел, например: 12,341; 12,3412; 12,34123 и т. д.

Каждое из этих чисел в нашем калькуляторе будет представлено как + 1.234Е+01. Для последних разрядов у нас просто не хватает знакомест! Аналогичная ситуация имеет место и в компьютерном представлении вещественных чисел, независимо от того, ячейки какой разрядности там использованы.

Получается, что точно мы можем представить в компьютере лишь некоторую конечную часть множества вещественных чисел, а остальные числа — лишь приближённо.

Таким образом, множество вещественных чисел, представляемых в компьютере, дискретно, конечно и ограничено.

САМОЕ ГЛАВНОЕ

В математике множество целых чисел дискретно, бесконечно и не ограничено.

Для компьютерного представления целых чисел используется несколько различных способов, отличающихся друг от друга количеством разрядов (8, 16, 32 или 64 разряда) и наличием или отсутствием знакового разряда. В любом случае компьютерное представление целых чисел дискретно, конечно и ограничено.

В математике множество вещественных чисел непрерывно, бесконечно и не ограничено.

Для компьютерного представления вещественных чисел используется нормализованная запись вещественного числа а = ± m • q p , где q — основание системы счисления, р — целое число (положительное, отрицательное или ноль), m — дробь, целая часть которой содержит одну значащую (ненулевую) цифру, т. е. 1 ≤ m < q.

Компьютерное представление вещественных чисел дискретно, конечно и ограничено.

Вопросы и задания

*7. Найдите десятичные эквиваленты чисел, представленных в дополнительном коде: 1) 00000100; 2) 11111001.

8. Для хранения целого числа со знаком в компьютере используется два байта. Сколько единиц содержит внутреннее представление числа -101, записанного:

1) в прямом коде;
2) в дополнительном коде?

9. Вычислите с помощью калькулятора (приложение Windows) в режиме «Программист» следующие примеры:

Как вы можете объяснить полученные результаты?

10. Запишите десятичные числа в нормализованной форме:

1) 217,934; 2) 75321; 3) 10,0101; 4) 200450.

11. Сравните следующие числа:

1) 318,4785 • 10 9 и 3,184785 • 10 11 ;
2) 218,4785 • 10 -3 и 1847,85 • 10 -4 .

12. Выполните операцию сложения:

1) 0,397621 • 10 3 + 0,2379 • 10 1 ;
2) 0,251452 • 10 -3 + 0,125111 • 10 -2 .

13. Чем ограничивается диапазон представимых в памяти компьютера вещественных чисел?

14. Почему множество вещественных чисел, представимых в памяти компьютера, дискретно, конечно и ограничено?

*15. Попытайтесь самостоятельно сформулировать основные принципы представления данных в компьютере.

Проблема выбора системы исчисления для представления чисел в памяти компьютера имеет большое практическое значение. От этого зависят надежность и экономичность в работе.

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

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

представление информации посредством только двух состояний надежно и помехоустойчиво;

одни и те же устройства компьютера могут применяться для обработки и хранения как числовой информации, представленной в двоичной системе счисления, так и логических переменных.

Недостаток двоичной системы  быстрый рост числа разрядов, необходимых для записи чисел.

Троичное кодирование, несмотря на ряд технических попыток, успеха не имело. В Советском Союзе в 60-е г. выпускался малой серией компьютер с троичной системой счисления при кодировании, который назывался «Сетунь», компьютеры с десятичной системой счисления так и не вышли из стен лабораторий.

При переводе целого десятичного числа в систему с основанием q его необходимо последовательно делить на q до тех пор, пока не будет частное, меньшее или равное q -1 . Число в системе с основанием q записывается как последовательность остатков от деления вместе с последним частным, записанных в обратном порядке.

Перевод числа 75 из десятичной системы в двоичную, восьмеричную и шестнадцатеричную:

то есть 75 10 = 1 001 011 2 = 113 8 = 4B 16 .

Для обратного перевода, то есть из двоичной в десятичную систему счисления, установим простую, но и одностороннюю связь между одним и тем же числом, записанным одновременно в десятичной и двоичной системах. Перевести любое двоичное число в десятичное можно по формуле

( a n … a 3 a 2 a 1 ) 2 = ( a 1 + a 2 ·2 + a 3 ·2 2 + … + a n ·2 n -1 ) 10 .

1101 2 = (1 + 0·2 + 1·4 + 1·8) 10 = (1 + 4 + 8) 10 = 13 10 ;

1110 2 = (0 + 1·2 + 1·4 + 1·8) 10 = (2 + 4 + 8) 10 = 14 10 .

Эта формула может быть применена и для перевода из любой
q -ичной системы счисления в десятичную.

Переведем из восьмеричной и шестнадцатеричной систем счисления в десятичную числа 45 и 6Е, воспользовавшись вышеприведенной формулой.

45 8 = (5·8 0 +4·8 1 ) 10 = (5+32) 10 = 37 10 ;

6Е 16 = (14·16 0 +6·16 1 ) 10 = (14+96) 10 = 110 10 .

При переводе правильной десятичной дроби в систему счисления с основанием q необходимо сначала саму дробь, а затем дробные части всех последующих произведений последовательно умножать на q , отделяя после каждого умножения целую часть произведения. Число в новой системе счисления записывается как последовательность полученных целых частей произведения в порядке их получения. Умножение производится до тех пор, пока дробная часть произведения не станет равной нулю. Это значит, что сделан точный перевод. В противном случае перевод осуществляется до заданной точности.

Перевод числа 0,35 из десятичной системы в двоичную, восьмеричную и шестнадцатеричную:

то есть 0,35 10 = 0,01011 2 = 0,263 8 = 0,59 16 .

2.8 Представление в компьютере целых и дробных чисел

Одним битом, как уже упоминалось, могут быть выражены два понятия: 0 или 1. Если количество битов увеличить до двух, то уже можно выразить четыре различных понятия: 00, 01, 10, 11. Тремя битами можно закодировать восемь различных значений: 000, 001, 010, 011, 100, 101, 110, 111. Увеличивая на единицу количество разрядов в системе двоичного кодирования, увеличиваем в два раза количество значений, которое может быть выражено в данной системе, то есть общая формула имеет вид:

где N – количество независимых кодируемых значений;

m – разрядность двоичного кодирования, принятая в данной системе.

Используя двоичную систему счисления, компьютер в одном байте может хранить любое целое число в диапазоне от 0 до 255 (от 00000000 до 11111111), а в двух байтах от 0 до 65535.

В компьютерной технике применяются три формы записи (кодирования) целых чисел со знаком: прямой код, обратный код, дополнительный код. Последние две формы применяются особенно широко.

Положительные числа в прямом, обратном и дополнительном кодах изображаются одинаково  двоичными кодами с цифрой 0 в знаковом разряде. Например:

Отрицательные числа в прямом, обратном и дополнительном кодах имеют разное изображение.

1. Прямой код. В знаковый разряд помещается цифра 1, а в разряды цифровой части числа  двоичный код его абсолютной величины. Например:

2. Обратный код. Получается инвертированием всех цифр двоичного кода абсолютной величины числа, включая разряд знака: нули заменяются единицами, а единицы  нулями. Например:

3. Дополнительный код. Получается образованием обратного кода с последующим прибавлением единицы к его младшему разряду. Например:

Обычно отрицательные десятичные числа при вводе в машину автоматически преобразуются в обратный или дополнительный двоичный код и в таком виде хранятся, перемещаются и участвуют в операциях. При выводе таких чисел из машины происходит обратное преобразование в отрицательные десятичные числа.

Числа, имеющие дробную часть, также называют вещественными . В большинстве программных систем при их написании вместо запятой принято писать точку. Так, например, число 5 – целое, а числа 5.1 и 5.0 – вещественные.

Для кодирования вещественных чисел используется 80-разрядное кодирование. При этом число предварительно преобразуют в форму представления чисел с плавающей точкой или нормализованную форму. В нормальной форме число представляется в виде произведения

где m – мантисса числа;

q – основание системы счисления;

Например, для числа 3,1415926 = 0,31415926  10 1 мантисса равна 0,31415926, а порядок равен 1. Для задания числа в нормальной форме требуется задать знаки мантиссы и порядка, их модули в q -ичном коде, а также основание системы счисления. Нормальная форма представления чисел неоднозначна, ибо взаимное изменений m и p приводит к плаванию точки (запятой). Например, десятичное число 73,28 в нормальной форме может быть записано в следующих вариантах:

73,28 = 73,28 10 0 = 7,328  10 1 = 0,7328 10 2 = 0,07328  10 3 = …

Количество цифр в целой и дробной частях мантиссы и в порядке может быть любым. На знак числа и знак порядка требуется 2 бита. Если остальные 6 бит байта отдать под порядок (2 4 = 64), то получается достаточно большой диапазон по порядкам. При однобайтном порядке диапазон изменения чисел составляет от 2 -128 до 2 127 или приблизительно от 10 -38 до 10 38 . Для большинства случаев этого бывает достаточно, так как на практике точность измерений обычно не превышает 10 -8 . Что касается мантиссы, то можно заметить, что чаще всего используются числа со сравнительно короткой мантиссой от 3 до 5 десятичных цифр и довольно редко – с мантиссами от 10 до 15 цифр. Для записи мантиссы берут 3 байта, при этом точность составляет 2 24 или 10 8 . Таким образом, получается 4 байта вместе с байтом знаков и порядка, что согласуется с размером ячейки для длинных целых чисел. Действительные числа с длинной мантиссой до 15 значащих цифр обеспечиваются удвоением количества байтов, отводимых под число, причем 4 дополнительных байта отдаются целиком мантиссе. Этим способом достигается так называемая двойная точность вычислений.

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

Чем больше разрядов отводится под запись мантиссы, тем выше точность представления числа.

Чем больше разрядов занимает порядок, тем шире диапазон от наименьшего отличного от нуля числа до наибольшего числа, представимого в машине при заданном формате.

Совокупность устройств, предназначенных для автоматической или автоматизированной обработки информации называют вычислительной техникой. Конкретный набор, связанных между собою устройств, называют вычислительной системой. Центральным устройством большинства вычислительных систем является электронная вычислительная машина (ЭВМ) или компьютер.

Компьютер - это электронное устройство, которое выполняет операции ввода информации, хранения и обработки ее по определенной программе, вывод полученных результатов в форме, пригодной для восприятия человеком. За любую из названных операций отвечают специальные блоки компьютера:

  • устройство ввода,
  • центральный процессор,
  • запоминающее устройство,
  • устройство вывода.

Все эти блоки состоят из отдельных меньших устройств. В частности, в центральный процессор могут входить арифметико-логическое устройство (АЛУ), внутреннее запоминающее устройство в виде регистров процессора и внутренней кэш-памяти, управляющее устройство (УУ). Устройство ввода, как правило, тоже не является одной конструктивной единицей. Поскольку виды входной информации разнообразны, источников ввода данных может быть несколько. Это касается и устройств вывода.

Схематично общая структура компьютера изображена на рис.1.

Рис. 1. Общая структура компьютера

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

Арифметико-логическое устройство - это блок ЭВМ, в котором происходит преобразование данных по командам программы: арифметические действия над числами, преобразование кодов и др.

Управляющее устройство координирует работу всех блоков компьютера. В определенной последовательности он выбирает из оперативной памяти команду за командой. Каждая команда декодируется, по потребности элементы данных из указанных в команде ячеек оперативной памяти передаются в АЛУ; АЛУ настраивается на выполнение действия, указанной текущей командой (в этом действии могут принимать участие также устройства ввода-вывода); дается команда на выполнение этого действия. Этот процесс будет продолжаться до тех пор, пока не возникнет одна из следующих ситуаций: исчерпаны входные данные, от одного из устройств поступила команда на прекращение работы, выключено питание компьютера.

Описанный принцип построения ЭВМ носит название архитектуры фон Неймана - американского ученого венгерского происхождения Джона фон Неймана, который ее предложил.

Современную архитектуру компьютера определяют следующие принципы:

  1. Принцип программного управления. Обеспечивает автоматизацию процесса вычислений на ЭВМ. Согласно этому принципу, для решения каждой задачи составляется программа, которая определяет последовательность действий компьютера. Эффективность программного управления будет выше при решении задачи этой же программой много раз (хотя и с разными начальными данными).
  2. Принцип программы, сохраняемой в памяти. Согласно этому принципу, команды программы подаются, как и данные, в виде чисел и обрабатываются так же, как и числа, а сама программа перед выполнением загружается в оперативную память, что ускоряет процесс ее выполнения.
  3. Принцип произвольного доступа к памяти. В соответствии с этим принципом, элементы программ и данных могут записываться в произвольное место оперативной памяти, что позволяет обратиться по любому заданному адресу (к конкретному участку памяти) без просмотра предыдущих.

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




Реальная структура компьютера значительно сложнее, чем рассмотренная выше (ее можно назвать логической структурой). В современных компьютерах, в частности персональных, все чаще происходит отход от традиционной архитектуры фон Неймана, обусловленный стремлением разработчиков и пользователей к повышению качества и производительности компьютеров. Качество ЭВМ характеризуется многими показателями. Это и набор команд, которые компьютер способный понимать, и скорость работы (быстродействие) центрального процессора, количество периферийных устройств ввода-вывода, присоединяемых к компьютеру одновременно и т.д. Главным показателем является быстродействие - количество операций, какую процессор способен выполнить за единицу времени. На практике пользователя больше интересует производительность компьютера - показатель его эффективного быстродействия, то есть способности не просто быстро функционировать, а быстро решать конкретные поставленные задачи.

Как результат, все эти и прочие факторы способствуют принципиальному и конструктивному усовершенствованию элементной базы компьютеров, то есть созданию новых, более быстрых, надежных и удобных в работе процессоров, запоминающих устройств, устройств ввода-вывода и т.д. Тем не менее, следует учитывать, что скорость работы элементов невозможно увеличивать беспредельно (существуют современные технологические ограничения и ограничения, обусловленные физическими законами). Поэтому разработчики компьютерной техники ищут решения этой проблемы усовершенствованием архитектуры ЭВМ.

Так, появились компьютеры с многопроцессорной архитектурой, в которой несколько процессоров работают одновременно, а это означает, что производительность такого компьютера равняется сумме производительностей процессоров. В мощных компьютерах, предназначенных для сложных инженерных расчетов и систем автоматизированного проектирования (САПР), часто устанавливают два или четыре процессора. В сверхмощных ЭВМ (такие машины могут, например, моделировать ядерные реакции в режиме реального времени, прогнозировать погоду в глобальном масштабе) количество процессоров достигает нескольких десятков.

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

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

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

Методы классификации компьютеров

Номенклатура видов компьютеров сегодня огромная: машины различаются по назначению, мощности, размерам, элементной базе и т.д. Поэтому классифицируют ЭВМ по разным признакам. Следует заметить, что любая классификация является в некоторой мере условной, поскольку развитие компьютерной науки и техники настолько бурное, что, например, сегодняшняя микроЭВМ не уступает по мощности миниЭВМ пятилетней давности и даже суперкомпьютерам недавнего прошлого. Кроме того, зачисление компьютеров к определенному классу довольно условно через нечеткость разделения групп, так и вследствии внедрения в практику заказной сборки компьютеров, где номенклатуру узлов и конкретные модели адаптируют к требованиям заказчика. Рассмотрим распространенные критерии классификации компьютеров.

Тема урока : «Двоичная система счисления. Представление чисел в памяти компьютера».

Цели урока

Образовательные

сформировать представление у учащихся о форме представления чисел в памяти компьютера;

Развивающие

воспитание информационной культуры учащихся, внимательность, аккуратность, дисциплинированности, усидчивости.

Воспитательные

развивать алгоритмическое мышление, познавательный интерес.

Тип урока: урок изучения нового материала.

Форма урока: урок изучения нового материала.

Методы обучения: наглядный, словесный, практический.

Оборудование: мультимедийный проектор, экран, презентация, раздаточный материал, доска, маркер.

Ход урока:

Приветствуют учителя. Рассаживаются.

Подготовительный этап.

Откроем тетради, запишем число и тему урока: «Двоичная система счисления». И сегодня мы с вами познакомимся с таким понятием как «система счисления» и изучим основы арифметических вычислений в двоичной системе счисления.

Открывают тетради, записывают число и тему урока.

Изучение нового материала.

Цель: обеспечить восприятие, осмысление и первичное запоминание нового материала.

Двоичная система счисления является основной системой представления информации в памяти компьютера. Эта идея принадлежит Джону фон Нейману, сформулировавшему в 1946г. Принципы устройства и работы ЭВМ.

Но, вопреки распространенному заблуждению, двоичная система счисления была придумана не инженерами-конструкторами ЭВМ, а математиками и философами, задолго до появления компьютеров, еще в 17-19 веках. Великий немецкий ученый Лейбниц считал: «Вычисление с помощью двоек <…> является для науки основным и порождает новые открытия… При сведении чисел к простейшим началам, каковы 0 и 1, везде появляется чудесный порядок».

Позже двоичная система была забыта, и только в 1936-1938гг. американский инженер и математик Клод Шеннон нашел замечательные применения двоичной системы при конструировании электронных схем.

Что же такое система счисления?

Это правила записи чисел и связанные с ними способы выполнения вычислений.

СС, к которой мы все привыкли, называется десятичной. Объединяется это название тем, что в ней используются десять цифр: 0,1,2,3,4,5,6,7,8,9. Число цифр определяет основание системы счисления. Если число цифр десять, то основание СС равно десяти.

В двоичной СС существует всего две цифры: 0 и 1. А основание равно двум.

Развернутая форма записи числа

Вспомним принцип записи чисел в десятичной СС. Значение цифры в записи числа зависит не только от самой цифры, но и от места расположения этой цифры в числе. Например, в числе 555 первая справа цифра обозначает три единицы, следующая – три десятка, следующая – три сотни. Этот факт можно выразить как сумму разрядных слагаемых.

Перевод двоичных чисел в десятичную систему

Перед вами число 101, которое записано в двоичной СС. Это указывает основание 2. Это нам позволяет не перепутать двоичное число с десятичным, например 1000 (далее рассказать по слайду).

Таким образом, мы переводим двоичное число в десятичную систему.

Давайте переведем в десятичную СС еще несколько двоичных чисел. Внимание на слайд!

Перевод десятичных чисел в двоичную систему

Пусть нужно перевести в двоичную СС число 19. Будем делить 19 последовательно на 2, запоминать остатки, в том числе и про нулевые (далее рассказать по слайду). Выписав все остатки, начиная с последнего, получим двоичное расположение числа.

Давайте выполним следующие переводы со слайда. Внимание на слайд!

Арифметика двоичных чисел

Правило двоичной арифметики гораздо проще правил десятичной арифметики. Вот все возможные варианты сложения и умножения однозначных чисел (показать по слайдам правила сложения и умножения двоичных чисел.). СЛАЙД 10

Рассмотрим и решим примеры. СЛАЙД 12

Обращают внимание на слайды.

Информация о домашнем задании.

Цель: обеспечить понимание и принятие цели, содержания и способов выполнения домашнего задания.

Урок подходит к концу, давайте запишем домашнее задание.

Учить конспект в тетради и параграфы в учебнике.

Записывают домашнее задание.

Подведение итогов урока.

Цель: провести анализ урока и дать оценку успешности достижения цели.


В данный момент вы не можете посмотреть или раздать видеоурок ученикам

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

Получите невероятные возможности



2. Раздавайте видеоуроки в личные кабинеты ученикам.


3. Смотрите статистику просмотра видеоуроков учениками.

Конспект урока "Представление чисел в компьютере"

На данном уроке мы с вами узнаем, как представляются целые и вещественные числа в компьютере.

А начнём мы с вами с целых чисел.

Как вы уже знаете, целые числа – это множество чисел, которое состоит из натуральных чисел, чисел, противоположных натуральным, и нуля.

Итак, оперативная память представляет собой таблицу, то есть состоит из ячеек.

Каждая ячейка оперативной памяти представляет собой физическую систему, которая состоит из некоторого числа однородных элементов. Эти элементы обладают двумя устойчивыми состояниями, которые соответствуют двум числам – нулю и единице. Каждый такой элемент предназначен для хранения одного из битов – разряда двоичного числа. Поэтому каждый элемент ячейки называется битом или разрядом.

То есть, можно сказать, что каждая ячейка оперативной памяти содержит число, представленное в двоичной системе счисления, так как вся информация представлена в памяти компьютера именно в этой системе счисления. Каждая ячейка также включает в себя некоторое количество клеточек (ячеек). В каждой клеточке содержится число ноль или один. Это зависит от того, какой код соответствует изначальному числу.

Давайте рассмотрим одну ячейку, которая состоит из n разрядов.

Она разбита на n клеточек. n обозначает количество разрядов или битов, отведённых под исходное число. Первая клеточка слева – это (n-1)-й разряд. Вторая – (n-2)-й разряд и так далее. Последняя клеточка – это 0-й разряд.

Можно сказать, что разряд – это степени для числа два в двоичной системе счисления.

Для представления целых чисел в компьютере существует несколько различных способов, которые отличаются друг от друга количеством разрядов и наличием или отсутствием знакового разряда. Обычно под целые числа отводится 8, 16, 32 или 64 разряда или бита.

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

Беззнаковое представление используется для таких объектов, как адреса ячеек; счётчиков, например, количество символов в тексте; чисел, которые обозначают дату и время; размеров графических изображений в пикселях и много другое.

Для этих данных используется беззнаковое представление, так как они никак не могут быть отрицательными числами.

Давайте рассмотрим таблицу максимальных значений для беззнаковых целых n -разрядных чисел:

В первом столбце указано количество битов, во втором минимальное значение, а в третьем – максимальное значение.

Минимальное значение во всех строка равно нулю. А вот максимальное вычисляется по формуле 2 n – 1. То есть максимальное восьмиразрядное число будет равно 255.

2 8 – 1 = 256 – 1 = 255.

Максимальное значение целого неотрицательного числа достигается в том случае, когда во всех разрядах ячейки хранятся единицы.

Давайте разберёмся на примере.

Возьмём восьмиразрядную ячейку и поместим в неё максимально допустимое число 255.

Исходя из этого можем сказать, что наша ячейка состоит из 8 разрядов или клеточек. При переводе числа 255 в двоичную систему счисления получим 8 единиц. То есть в каждой клеточке будет содержаться по единице.

Число разрядов n=8. Давайте над каждой клеточкой расставим соответствующий разряд начиная с крайней левой.

Давайте вспомним общий вид нашей ячейки.

То есть ячейка из n разрядов, в нашем случае 8, состоит из n клеточек (снова из 8), а каждый разряд вычисляется по формуле n – 1, n – 2 и так далее. В зависимости от того, на каком месте находится ячейка.

А если мы возьмём все наши единицы и проставим над ними наши разряды, то мы можем перевести наше число из двоичной системы счисления в десятичную уже известным нам образом.

Если же брать число 256, то мы не сможем поместить его в восьмиразрядную ячейку, так как оно будет состоять из единицы и восьми нулей, а клеточек у нас 8.

Если мы возьмём число 65 535, то в двоичной системе счисления оно будет состоять из 16 единиц. А если шестнадцатиразрядную ячейку снова представить, как строку, состоящую из 16 клеточек и расставить соответствующие разряды, то она будет выглядеть следующим образом:

Для получения компьютерного представления беззнакового целого числа достаточно перевести его в двоичную систему счисления и дополнить полученный результат слева нулями до стандартной разрядности.

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

Наше число состоит из 7 цифр. Поместим его в восьмиразрядную ячейку.

Но ячеек 8, а цифр 7. В таком случае помещаем наше число в крайние справа семь ячеек, а в первую левую запишем ноль.

Он не повлияет на наше число, но все разряды ячейки должны быть заполнены цифрами.

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

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

Это то, что касается беззнакового представления чисел.

При представлении числа со знаком (плюсом, если это положительное число, и минусом, если это отрицательное число) самый старший разряд, то есть тот, который находится слева, отводится под знак числа, а остальные разряды – под само число. Если число положительное, то в самый старший разряд (самую левую клеточку) пишется цифра 0, а если отрицательное, то 1.

Такое представление чисел называется прямым кодом. Такие коды в компьютере используются для хранения положительных чисел в запоминающих устройствах, для выполнения операций с положительными числами.

Например, число 56 в двоичной системе будет равно: 1110002.

Оно в себя включает 6 цифр. Запишем его в восьмиразрядную ячейку.

Две оставшиеся слева клеточки заполним нулями, так как число положительное.

А если бы наше число было отрицательным, то оно выглядело бы следующим образом.

В старший разряд мы поставили единицу, так как число отрицательное.

Для выполнения операций с отрицательными числами используется дополнительный код, который позволяет заменить операцию вычитания сложением.

Дополнительный код целого отрицательного числа может быть получен по следующему алгоритму:

· записать прямой код модуля числа;

· инвертировать его (заменить единицы нулями, нули – единицами);

· прибавить к инверсному коду единицу.

Давайте рассмотрим применение этого алгоритма на примере.

Нам дано число –25. При переводе в двоичную систему модуля числа получим следующее число: 110012.

Теперь смотрим на первый пункт. Нам необходимо записать прямой код модуля числа. Возьмём восьмиразрядный код. То есть наше число будет записано в клеточки, а в трёх пустых клеточках слева от него – нули.

Далее во втором пункте нам необходимо инвертировать наше число, то есть заменить единицы нулями, а нули – единицами. Получим следующее:

Теперь нам осталось, исходя из третьего пункта, прибавить к числу единицу. Получим следующее число:

Всё, что говорилось ранее, относилось к представлению целых чисел. Для представления вещественных чисел используется немного другой способ. Давайте рассмотрим его.

Любое вещественное число A может быть записано в экспоненциальной форме:

m – мантисса числа.

q – основание системы счисления.

p – порядок числа.

Возьмём для примера число 1 345 572. Его можно представить различными способами:

С экспоненциальной формой записи вы наверняка уже встречались. Например, считая на калькуляторе, вы могли получить следующее число: 1,34Е + 6.

Оно обозначает следующее: 1,34 · 10 6 . То есть знак Е – это основание десятичной системы счисления.

Из примера, можно сделать вывод, что положение запятой может изменяться.

Для единообразия мантиссу обычно записывают как правильную дробь, которая имеет после запятой цифру, отличную от нуля. То есть наше число 1 345 572 будет выглядеть следующим образом: 1 345 572 = 0,1345572 • 10 7 .

Вещественное число может занимать в памяти компьютера 32 или 64 разряда.

То есть наша ячейка в памяти может состоять из 32 или 64 клеточек. При этом выделяются разряды для хранения знака мантиссы, знака порядка, порядка и мантиссы.

Давайте разберёмся на примере. Возьмём число 125 в десятичной системе счисления и запишем её в тридцатидвухразрядную ячейку.

Для начала нам нужно перевести число 125 в двоичную систему счисления. Получим следующее: 12510 = 11111012.

Теперь запишем это число в экспоненциальной форме.

Ставим равно. Мантиссой числа будет следующее: 0,1111101.

Ставим знак умножения. q – это основание системы счисления. В нашем случает это двоичная система счисления. Число 2 в двоичной системе счисления будет состоять из цифр 1 и 0. Запишем его.

11111012 = 0,1111101 · 10.

p – это порядок числа или же степень. Мы с вами перенесли наше число на семь знаков вправо после запятой. Значит наше p будет равно 7. При переводе числа семь в двоичную систему счисления получим следующее:

11111012 = 0,1111101 · 10 111 .

Мы с вами записали двоичное число в экспоненциальной форме.

Теперь перенесём всё в клеточки ячейки памяти, размером 32 разряда.

Под знак и порядок выделяется восемь клеточек, под знак и мантиссу двадцать четыре.

Первую клеточку слева выделяем под знак. Так как наше число положительное, то ставим цифру 0.

В разделе «Знак и порядок» запишем число 7 в двоичной системе счисления. Оставшиеся клеточки заполним нулями.

Теперь переходим к разделу «Знак и мантисса». В первой слева снова ставим цифру ноль, которая обозначает, что знак нашего числа положительный.

Далее запишем наше число, а оставшиеся клеточки заполним нулями.

Мы записали наше число в тридцатидвухразрядную ячейку.

Диапазон представления вещественных чисел определяется количеством разрядов, отведённых для хранения порядка чисел, а точность – количеством разрядов, отведённых для хранения мантиссы.

Давайте рассмотрим следующий пример:

В нём максимальное значение порядка числа составляет: 11111112 = 12710.

Следовательно, максимальное значение числа будет равно: 0,11111111111111111111111 · 10 111 .

Широкий диапазон представления вещественных чисел важен для решения научных и инженерных задач. Но в тоже время алгоритмы обработки таких чисел более трудоёмки по сравнению с алгоритмами обработки целых чисел.

А теперь пришла пора подвести итоги урока.

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

Читайте также: