Как сделать разрядную сетку

Добавил пользователь Евгений Кузнецов
Обновлено: 05.10.2024

Система счисления - это способ представления любого числа посредством некоторого алфавита символов. Различают непозиционные системы счисления (например, римская), позиционные (десятичная, двоичная, восьмеричная, шестнадцатеричная и др.) и системы с иррациональным основанием (коды Фибоначчи). Количество раз­личных цифр в позиционной системе называют основанием системы S .

Любое число N в позиционной системе с основанием S пред­ставляется формулой

где k - количество цифр в числе N; a - любые из S цифр системы счисления.

Если найдено представление числа N в виде (2.1), то само число можно записать в виде:

Например, если десятичное число выражается полиномом , то само число равно 125,1510.

В двоичной системе счисления (2 с/с) используются только две цифры: 0 и 1; в восьмеричной (8 с/с) - восемь цифр: 0-7; в шест­надцатеричной (16 с/с) - десять цифр: 0-9 и шесть букв: А, В, С, D , Е, F. МикроЭВМ так же, как и другие ЭВМ, работают с инфор­мацией, представленной в 2 с/с.

Для связи оператора с микроЭВМ (для ввода и вывода данных, команд, адресов) используется 8 с/с (микроЭВМ типа DEC) или 16 с/с (микроЭВМ типа INTEL), так как в 2 с/с запись информа­ции получается длинной и неудобной для оператора.

Перевод чисел из 10 с/с в другую позиционную систему с основанием S осуществляется по разным правилам для целой и дробной частей числа.

Перевод целых чисел. Для перевода целого числа из 10 с/с в систему с основанием (2 с/с, 8 с/с, 16 с/с) необходимо последовательно разделить это число и получаемые частные на основание S до тех пор, пока час­тное не станет меньше S. Запись числа производится, начиная с последнего частного, с присоединением остатков в последовательно­сти, обратной их получению.

Пример. Перевести число 3310 в 2 с/с.

Перевод дробных чисел. Для перевода дробной части из 10 с/с в систему S (2 с/с, 8 с/с, 16 с/с) необходимо умножить эту дробь и дробные части (без учета целых) получающихся произведений на основание S. Запись дроби производится с нуля с добавлением после запятой целых частей (сверху - вниз) получающихся произведений. Если при последовательном умножении после запятой не получаются нули, то перевод осуществляется с заданной точностью.

Пример. Перевести 0,62510 в 2 с/с.

В последней записи число 10 заменено символом А в соответствии со способом кодирования в 16 с/с (см. табл.2.1).

Перевод чисел из 10 с/с в 2 с/с можно производить, используя формулу (2.1), а также через 8 с/с или 16 с/с.

Очевидно, что основания 8 с/с и 16 с/с есть степени основания 2 с/с: 2 3 = 8, а 2 4 = 16. Следовательно, для записи каждой цифры восьмеричного числа необходимо три двоичных разряда (триада), а для представления каждой цифры шестнадцатеричного числа – четыре разряда (тетрада). Представление десятичных, восьмеричных и шестнадцатеричных целых чисел приведено в табл.2.1.

Перевод двоичных чисел в 8 с/с и 16 с/с. Производится путем разбиения двоичного числа на триады и тетрады соответственно влево и вправо от запятой с последующей заменой триад и тетрад на их символьные эквиваленты в соответст­вии с табл.2.1. Недостающие позиции в триадах и тетрадах запол­няются нулями.

Таблица 2.1. Представление чисел.

10 c/c 2 c/c 8 c/c 16 c/c
0 0000 0 0
1 0001 1 1
2 0010 2 2
3 0011 3 3
4 0100 4 4
5 0101 5 5
6 0110 6 6
7 0111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F

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

Пример. Перевести 10001,0­­12­ в 8 с/c и 16 с/c.

Двоичная арифметика

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

Таблица 2.2. Правила представления арифметических операций.

Правила арифметики во всех позиционных системах аналогичны (10 с/с, 2 с/с, 8 с/с и 16 с/с). Поэтому действия над двоичными числами производятся подобно сложению, вычитанию, умножению и делению целых, дробных десятичных и смешанных чисел в 10 с/с в соответствии с табл.2.2.

Любая информация в памяти компьютера представляется с помощью нулей и единиц, то есть с помощью двоичной системы счисления. Первоначально компьютеры могли работать только с числами. Теперь это числа, тексты, графические объекты, видеоинформация.
Работа с данными сводится любого типа к обработке двоичных чисел – чисел, записываемых с помощью двух цифр – 0и 1.
В компьютере различаются два типа числовых величин: целые числа и вещественные числа. Различаются способы представления в памяти компьютера.
Они называются:

  1. форма с фиксированной точкой (применяется к целым числам)
  2. форма с плавающей точкой (применяется к вещественным числам).

В отдельной части памяти компьютера хранится информация. Данная часть памяти компьютера будем называть ячейкой. Минимальный размер ячейки, где может храниться наша информация – 1 байт или 8 бит.
Давайте попробуем представить число 1510 в двоичной системе счисления, для того чтобы дальше мы могли с вами представить данное число, как будет выглядеть число в памяти компьютера.
1510=11112
А теперь запишем это число в восьми разрядную сетку ячейки. Запись в ячейку мы начинаем с конца, то есть последнюю цифру нашего числа мы записываем в последний разряд ячейки, потом предпоследнюю цифру в предпоследний разряд ячейки и таким образом пока не закончится наше число.

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

  1. записать внутреннее представление соответствующего ему положительного числа
  2. записать обратный код полученного числа заменой во всех разрядах 0 на 14, 1 на 0.
  3. к полученному числу прибавить 1.

Пример:
Определим внутреннее представление числа -1510 в восьмиразрядной сетки.

  1. Запишем внутреннее представление числа 1510 – 00001111
  2. Запишем обратный код – 11110000
  3. К полученному числу прибавим 1 – 11110001

111100012 это и есть представление числа -1510
Мы с вами учились записывать числа в восьмиразрядную сетку, но бывают и 16-разрядной сетки и 32-разрядной сетки.
В восьмиразрядной сетки можно получить числа диапазоном -127

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

При использовании трех одноадресных команд по первой одноадресной команде в сумматор поступит содержимое ячейки аг ( первое слагаемое), по второй команде-сложится содержимое сумматора с содержимым ячейки at ( вторым слагаемым), указанной в ее адресе, по третьей команде результат запишется в память машины в ячейку аэ, адрес которой указан в адресной части третьей команды. Однако для записи одноадресной команды требуется меньшее количество разрядов; поэтому длина разрядной сетки ячейки памяти машины , а следовательно, и количество аппаратуры для хранения одной команды резко уменьшаются. Если же учесть, что при выполнении многих действий в качестве одного из участвующих в операции чисел используется результат предыдущего действия, который находится в сумматоре, а результат нет необходимости записывать в память машины ( одно действие может выполняться с помощью одной одноадресной команды), то преимущество машин с одноадресными командами очевидно. [32]

При построении устройств цифровой обработки информации ( ЦОИ) и ЭВМ конкурируют две взаимно противоположные тенденции. С одной стороны, необходимо снижать объем оборудования, в частности, длину разрядной сетки г, с другой - при решении научно-технических задач необходимо обеспечить высокую точность операций над числовыми величинами из широкого диапазона значений. А это сопряжено с увеличением г. Конкуренцией указанных тенденций обусловлено использование в машинах двух форм представления чисел. [33]

Для определения адреса операнда при относительной адресации необходимо сложить два числа: неполный адрес, заданный в команде. Неполный адрес обычно называют относительным Относительная адресация позволяет значительно расширить диапазоь используемых адресов без увеличения длины разрядной сетки команд поэтому этот тип адресации имеет особое значение для ВС, работающие с форматом слов переменной длины. [34]

Это особенно важно для тех случаев, когда используются сравнительно малоразрядные микропроцессоры. К вычислительным средствам, используемым в автономных электроизмерительных средствах, предъявляются требования минимальных массы и габаритов, что также ограничивает длину разрядной сетки процессоров . [35]

Фактически их будет несколько, и каждый пользователь имеет свою собственную виртуальную память, которая, как он предполагает, простирается от нуля до максимального адреса, допускаемого длиной разрядной сетки адреса . [36]

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

Каждому элементу разрядной сетки присвоен номер, который называется номером двоичного разряда ЦВМ. Для большинства ЦВМ величина п определена конкретным числовым-значением и рассматривается как постоянная величина. Под длиной разрядной сетки понимается число двоичных разрядов, используемых для представления чисел в ЦВМ. В данном случае разрядная сетка имеет длину ( п 1) двоичный разряд. Длина разрядной сетки влияет на диапазон и точность представления величин в ЦВМ. [38]

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

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

Кроме того, вычисления в БЦВМ осуществляется при конечной длине разрядной сетки. В задачах минимизации влияние длины разрядной сетки на эффективность работы алгоритма тем сильнее, чем больше число независимых переменных у целевой функции и чем больше используется информация, полученная на предыдущих шагах итерационного процесса. Таковыми являются градиентные методы. Отмеченные особенности приводят к колебательному движению по дну оврага, что увеличивает время определения минимума. [41]

В этом случае на ЭВМ необходимо имитировать структуру ЦФ с изменяющимися в процессе исследования значениями разрядных сеток его функциональных блоков. Для разделения влияния шума измерения и погрешностей, связанных с конечным форматом представления данных, целесообразно на вход ЦФ подавать только полезную - составляющую входного сигнала. Качество работы ЦФ в этом случае оценивается по характеристикам погрешностей в выходных параметрах для различных значений длин разрядных сеток . [42]

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

Точность выполнения арифметических операций зависит от количества разрядов машинных чисел и формы представления чисел. Чем большим количеством разрядов представлено машинное число ( слово), тем меньше ошибка при его округлении в случае выхода значащих разрядов за пределы разрядной сетки. Увеличение количества разрядов требует увеличения длины регистров и сумматоров при па раллельном кодировании чисел или увеличения времени выполнения операций при последовательном. Следует также учитывать, что увеличение длины разрядной сетки приводит к уменьшению количества чисел, которые могут храниться в памяти машины, если емкость ее задана. [44]

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

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

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

2. Числа с фиксированной точкой

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

Рекомендуемые файлы

Пример.
Ячейка с целой и дробной частью.

http://static.dstu.edu.ru/informatics/mtdss/ris/ris3_1.jpg

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

Пример.
Ячейка с записью целого числа.

http://static.dstu.edu.ru/informatics/mtdss/ris/ris3_2.jpg

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

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

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

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

Обычно целые числа в ЭВМ занимают один, два или четыре байта. Один, как правило, старший бит отводится под знак числа. Знак положительного числа "+" кодируется нулем, а знак отрицательного числа "-" - единицей. Целые числа без знака в двух байтовом формате могут принимать значения от 0 до 2 16 -1 (до 65535), а со знаком "-" от -2 15 до 2 15 -1, то есть от -32768 до 32767.

Во всех разрядах всегда должно быть что-то записано, даже если это "незначащий" ноль. Число распологается так, что его самый младший двоичный разряд записывается в крайний првый бит разрядной сетки. Например, десятичное число 19 (100112) в 16-разрядной сетке записывается так:


19 = 0000 0000 0001 0011

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

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

· Для ускорения вычислений в местах, где не требуется высокая точность. В большинстве современных процессоров ФЗ аппаратно не реализована, но даже программная ФЗ очень быстра — поэтому она применяется в разного рода игровых движках, растеризаторах [1] и т. д. Например, движок Doom для измерения расстояний использует фиксированную запятую 16,16, для измерения углов — 360°=65536.

· Чтобы обеспечить минимальную поддержку дробных чисел на целочисленном процессоре — микроконтроллера, мобильного телефона, приставок вплоть до Playstation и т. д. Если не решаются некорректные задачи и СЛАУ высокого порядка, фиксированной запятой зачастую достаточно — важно только подобрать подходящую цену (вес) младшего разряда для каждой из величин.

· Для записи чисел, которые по своей природе имеют постоянную абсолютную погрешность: координаты в программах вёрстки, денежные суммы. Например, файлы метрики шрифтов TeX используют 32-битный знаковый тип с фиксированной запятой (12,20).

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

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