Смекни!
smekni.com

Системы счисления и основы двоичных кодировок (стр. 5 из 7)

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

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

Например:

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

Общее правило перевода числа в систему счисления с основанием n:

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

Пример: 378,835937510 перевести в систему счисления с основанием q=8

Итак, 378,835937510=572,6548

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

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

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

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

Пример:

100 101 000 0102

4 5 0 28

111 111 101 000 010 000 1002

7 7 5 0 2 0 48

А для перевода целого двоичного числа в шестнадцатеричное, число разбивают на группы по 4 цифры и следуют тому же алгоритму, что и с

восьмеричной системой счисления.

Например:

1001 0000 1100 0111 00012

9 0 С 7 116

Например:

1111 1001 1101 0002

F 9 D 016

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

Например:

1 2 3 4 5 6 78
001 010 011 100 101 110 1112
А B C D E F 1 2 3 4 5
1010 1011 1100 1101 1110 1111 0001 0010 0011 0100 0101
6 7 8 916
0110 0111 1000 10012

2. ИСПОЛЬЗОВАНИЕ СИСТЕМ СЧИСЛЕНИЯ В КОМПЬЮТЕРНОЙ ТЕХНИКЕ И ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЯХ

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

Бит - это минимальная единица измерения информации (0 mini). За битом следует байт, состоящий из восьми бит, затем килобайт (кбайт) - 1024 байта, мегабайт (мбайт) - 1024 кбайта, гигобайт (гбайт) - 1024мбайт.

2.1Двоичное кодирование информации в компьютере

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

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

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

Бит - это минимальная единица измерения информации (0 или1). За битом следует байт, состоящий из восьми бит, затем килобайт (кбайт) - 1024 байта, мегабайт (мбайт) - 1024 кбайта, гигобайт (гбайт) - 1024мбайт.

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

Таким образом, информация представляется в виде конечной последовательности 0 и 1. Например целое неотрицательное число А2=Т 111100002 будет храниться в ячейке следующим образом:

1 1 1 1 0 0 0 0

Значит, мы можем записать все числа от 0 до 255 в двоичной системе счисления в 1 ячейке памяти.

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

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

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

Например, число 1910 будет выглядеть:

0 о 0 1 0 0 1 1

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

Например, число -9810 будет выглядеть:

1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0

Представление целых чисел в компьютере в формате «знак - величина» называется прямым кодом числа. Например, число 200210=111110100102 будет представлено в шестнадцатиразрядном представлении следует следующим образом:

0 0 0 0 0 1 1 1 1 1 0 1 0 0 1 0

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

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

2n-|А|+|А| =0

поскольку в компьютерной 2n=0.

Алгоритм построения такого кода довольно прост:

1. Записать модуль числа в прямом коде.

2. Получить обратный код числа (то есть заменить все нули на единицы, а все единицы на нули).

3. К полученному результату прибавить единицу.

Запишем дополнительный код отрицательного числа -2002 для 16-разрядного представления:

Запишем дополнительный код отрицательного числа -16320 для 16-разрядного представления: