- •4. Представление чисел в компьютере
- •5. Представление графической информации
- •1. Информация и информатика.
- •2. Кодирование и измерение информации.
- •2.1. Вероятностный подход к измерению информации.
- •2.2. Символьный подход к измерению информации
- •3. Некоторые сведения о системах счисления.
- •4. Представление чисел в компьютере
- •4.1. Представление целых чисел в компьютере
- •Перед полученным числом поставим знак «-» Ответ: -105
- •Например, 0,55555•103 Чтобы привести к какому-то стандарту в представлении чисел с плавающей запятой условились представлять числа в нормализованной форме. При этом мантисса отвечает условию:
- •4.4. Арифметические операции с числами в формате с плавающей запятой.
- •5. Представление графической информации
- •6. Логические основы компьютеров
- •7. Технические средства реализации информационных процессов
- •8. Программное обеспечение компьютеров
- •9. Компьютерные сети
- •10. Основы защиты информации
- •Методы и средства защиты информации
3. Некоторые сведения о системах счисления.
Все данные и программы, хранящиеся в памяти компьютера, имеют вид двоичного кода. Мы уже знаем, что для представления текстовой (символьной) информации используется алфавит из 256 символов. Один символ из такого алфавита несет 8 бит информации, а значит двоичный код каждого символа в компьютерном тексте занимает 1 байт памяти. Числовая информация в памяти компьютера также представляется в двоичном виде.
Язык чисел, как и обычный язык, имеет свой алфавит. Способ записи чисел с помощью заданного набора специальных знаков (цифр) называется системой счисления.
Существуют позиционные и непозиционные системы счисления.
В непозиционных системах вес цифры (т.е. тот вклад, который она вносит в значение числа) не зависит от ее позиции в записи числа. Так, в римской системе счисления в числе ХХХII (тридцать два) вес цифры Х в любой позиции равен просто десяти.
В позиционных системах счисления вес каждой цифры изменяется в зависимости от ее положения (позиции) в последовательности цифр, изображающих число. Например, в числе 757,7 первая семерка означает 7 сотен, вторая – 7 единиц, а третья – 7 десятых долей единицы. Сама же запись числа 757,7 означает сокращенную запись выражения
700 + 50 + 7 + 0,7 = 7102 + 5101 + 7100 + 710-1 = 757,7.
Любая позиционная система счисления характеризуется своим основанием. Основание позиционной системы счисления — это количество различных знаков или символов, используемых для изображения цифр в данной системе. Вот несколько примеров позиционных систем и их алфавитов:
Основание |
Название |
Алфавит |
2 |
Двоичная |
0 1 |
3 |
Троичная |
0 1 2 |
8 |
Восьмеричная |
0 1 2 3 4 5 6 7 |
16 |
Шестнадцатеричная |
0 1 2 3 4 5 6 7 8 9 A B C D E F |
Если n – основание системы не большее десяти, то в алфавите используются n первых арабских цифр. Если основание превышает 10, то в качестве дополнительных цифр выступают буквы латинского алфавита по порядку.
Общепринятой в современном мире является десятичная позиционная система исчисления, которая из Индии через арабские страны пришла в Европу. Основанием системы является число десять. Практически на всем земном шаре пользуются числовым языком, алфавит которого состоит из десяти арабских цифр от 0 до 9.
За основание системы можно принять любое натуральное число — два, три, четыре и т.д. Следовательно, возможно бесчисленное множество позиционных систем: двоичная, троичная, четверичная и т.д. Запись чисел в каждой из систем счисления с основанием q означает сокращенную запись выражения
an-1 qn-1 + an-2 qn-2+ ... + a1 q1 + a0 q0 + a-1 q-1 + ... + a-m q-m,
где ai – цифры системы счисления; n и m – число целых и дробных разрядов, соответственно. Пусть число 102 записано в троичной системе счисления.
Тогда (102)3 =132+031+230. Выполнив действия, получим значение троичного числа в десятичной системе счисления. Т.е. (102)3 = (11)10.
В компьютере информация представляется в двоичном виде (в битовой форме). Для перевода десятичного числа в двоичную систему счисления необходимо представить его в виде суммы степеней числа 2. Например,
(76)10 = 64 + 8 + 4 = 26 + 23 + 22 = (1001100)2.
Можно воспользоваться последовательным делением на 2 с выделением остатка. Например,переведем число 58 в троичную систему счисления. После знака равенства записывается целая часть частного, а в скобках указывается остаток.
58 : 3 = 19 (1)
19 : 3 = 6 (1)
6 : 3 = 2 (0)
2 : 3 = 0 (2)
Окончательный результат такой: 58=20113.
(201,25)=27+26+23+20+2-2=(11001001,01)2Для перевода дроби в двоичную систему счисления преобразуют отдельно ее целую и дробную части. Причем дробная часть должна представляться суммой
a2-1 + b2-2 + c2-3 + ...
где a,b,c,... неизвестные коэффициенты, принимающие значения либо 0, либо 1, которые и надо найти. Применяют алгоритм умножения на 2. Например, для перевода 0,375 в двоичную систему счисления, имеем:
20,375 = 0,75 (целая часть равна 0)
20,75 = 1,5 (целая часть равна 1)
20,5 = 1,0 (целая часть равна 1)
Этот процесс продолжается до тех пор, пока дробная часть не окажется равной нулю. Тогда имеем (0,375)10= (0,011)2. Проверьте, что (0,625)10 = 0,1012
Заметим, что этот процесс может оказаться и бесконечным. Например, число 0,1 при переводе в двоичную систему счисления примет вид (0,1)10= (0,00011001100...)2. Переведем число 0,123 в пятеричную систему счисления.
-
0,123·5=0,615
0,615·5=3,075
0,075·5=0,375
0,375·5=1,875
0,875·5=4,375
0
3
0
1
4
Далее пойдет повторение двух последних цифр. Результат получился таким:
0,123=0,030(14)5.
В компьютерах используют двоичную систему потому, что она имеет ряд преимуществ перед другими системами:
для ее реализации нужны технические устройства с двумя устойчивыми состояниями (есть ток — нет тока), а не с десятью, — как в десятичной;
представление информации посредством только двух состояний надежно и помехоустойчиво;
двоичная арифметика намного проще десятичной.
Недостаток двоичной системы — быстрый рост числа разрядов, необходимых для записи чисел.
Рассмотрим пример смешанной системы счисления - двоично-десятичной системы счисления.
В ней десятичное число записывается путем замены каждой цифры на 4-разрядный двоичный код. Таблица соответствия для двоично-десятичной системы следующая:
DEC |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
BIN |
0000 |
0001 |
0010 |
0011 |
0100 |
0101 |
0110 |
0111 |
1000 |
1001 |
В этой таблице каждой десятичной цифре поставлено в соответствие равное ей четырехзначное двоичное число (нули слева – незначащие). Например, десятичное число 58236,37 в двоично-десятичной форме запишется так: 101 10001 0010 0011 0101,0011 01112-10 . Первый слева ноль у целого числа является незначащей цифрой, поэтому его можно не писать.
Для обратного преобразования из двоично-десятичной формы в десятичное число нужно разбить на четверки все знаки двоичного кода: от запятой влево – в целой части и вправо – в дробной части. Затем каждую четверку двоичных цифр заменить на соответствующую десятичную цифру. Например:
11 1000 0010 1001 0011,0101 1001 1000 2-10 → 3823,598
Отметим важное обстоятельство: между данными десятичным и двоично-десятичным числом нельзя поставить знак равенства. Двоично-десятичное представление – это всего лишь двоичный код для представления десятичного числа, но никак не равное ему значение в двоичной системе счисления. Выполнение арифметических вычислений над десятичными числами, представленными в двоично-десятичной форме, весьма затруднительны. Тем не менее, в истории ЭВМ известны такие примеры. В первой ЭВМ под названием ENIAC использовалась двоично-десятичная система.
Современные компьютеры производят вычисления в двоичной системе счисления. Однако для представления компьютерной информации нередко используются двоично-восьмеричная и двоично-шестнадцатеричная системы.
Двоично-восьмеричная система. В следующей таблице представлено соответствие между восьмеричными цифрами (OCT) и трехзначными двоичными (BIN) числами (двоичными триадами), равными по значению этим цифрам.
OCT |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
BIN |
000 |
001 |
010 |
011 |
100 |
101 |
110 |
111 |
Записать восьмеричное число в двоично-восьмеричном виде – это значит заменить каждую восьмеричную цифру на соответствующую двоичную триаду. Например: 3517,28→11 101 001 111,010 2-8.
А теперь переведем данное восьмеричное число в двоичную систему счисления. Для этого сначала его переведем в десятичную систему, а потом из десятичной в двоичную систему счисления. Вот что получается:
3517,2 8 = 1871,25=11101001111,01 2
Но это тот же самый двоичный код, что записан выше в двоично-восьмеричной системе! Мы пришли к следующему результату: двоично-восьмеричное число равно значению данного восьмеричного числа в двоичной системе счисления.
Отсюда следует, что перевод чисел из восьмеричной системы счисления в двоичную производится перекодировкой по двоично-восьмеричной таблице путем замены каждой восьмеричной цифры на соответствующую двоичную триаду. А для перевода числа из двоичной системы в восьмеричную его цифры надо разбить на триады (начиная от запятой) и заменить каждую триаду на соответствующую восьмеричную цифру.
Двоично-шестнадцатеричная система счисления. В следующей таблице представлено соответствие между шестнадцатеричными (HEX) цифрами и четырехзначными двоичными числами (двоичными тетрадами), равными по значению этим цифрам.
DEC |
0 |
1 |
... |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
HEX |
0 |
1 |
... |
8 |
9 |
A |
B |
C |
D |
E |
F |
BIN |
0000 |
0001 |
... |
1000 |
1001 |
1010 |
1011 |
1100 |
1101 |
1110 |
1111 |
Записать шестнадцатеричное число в двоично-шестнадцатеричном виде – это значит заменить каждую шестнадцатеричную цифру на соответствующую двоичную тетраду. Например: С81F,1D16 → 1100 1000 0001 1111,0001 11012-16
Переведем данное шестнадцатеричное число сначала в десятичную систему счисления, а затем в двоичную систему. Получим:
С81F,1D16 = 51231,875 = 1100 1000 0001 1111,0001 11012
Получился тот же самый двоичный код, что записан выше в двоично-шестнадцатеричной системе! Рассмотренный пример привел к следующему результату: двоично-шестнадцатеричное число равно значению данного шестнадцатеричного числа в двоичной системе счисления.
Следовательно, для перевода числа из шестнадцатеричной системы счисления в двоичную достаточно выполнить перекодировку по двоично-шестнадцатеричной таблице путем замены каждой шестнадцатеричной цифры на соответствующую двоичную тетраду. А для перевода числа из двоичной системы в шестнадцатеричную его цифры надо разбить на тетрады (начиная от запятой) и заменить каждую тетраду на соответствующую шестнадцатеричную цифру.
Восьмеричную и шестнадцатеричную системы счисления используют для компактного представления содержимого памяти компьютера, а также ее адресации. Восьмеричное представление сжимает двоичный код в три раза, а шестнадцатеричное представление – в четыре раза.
Задача. Перевести число 1369,75 в двоичную, восьмеричную и шестнадцатеричную системы счисления.
Наиболее рациональный способ решения задачи следующий. Нужно перевести это число в одну из трех систем с основанием 2, 8 или 16, а затем, используя связь между ними через смешанное представление, выполнить перевод в две другие системы путем перекодировки по таблицам 2-8 и 2-16.
1) Переведем число в восьмеричную систему путем последовательного деления на 8 целой части и последовательного умножения на 8 дробной части числа. Получим:
1369,75=2531,68
2) Путем перекодировки по двоично-восьмеричной таблице переведем это число в двоичную систему счисления:
2531,68=10 101 011 001,1102
3) Разделив цифры двоичного числа на тетрады (влево и вправо от запятой), переведем двоичное число в шестнадцатеричную систему, используя двоично-шестнадцатеричную таблицу:
0101 0101 1001,11002=559,С16
Все арифметические действия в компьютере выполняются в двоичной системе счисления. Законы двоичной арифметики очень просты:
-
Сложение
0+0=0
1+0=1
0+1=1
1+1=10
Умножение
00=0
10=0
01=0
11=1
Перенос в старший разряд единицы возникает, если результат сложения цифр одноименных разрядов больше 1.
Например,
|
|
1 |
|
|
1 |
1 |
1 |
1 |
|
|
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
+ |
|
|
1 |
0 |
0 |
1 |
1 |
0 |
1 |
|
1 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
Цифрами сверху обозначены значения, переносимые при сложении в соседний слева разряд. Проверьте результаты действий: a) 11102 + 1012 = 100112 ;
б) 1012 112 = 11112.
Заметим, что хотя Вам не потребуется записывать числа в рассмотренных системах счисления, однако, в литературе используют такую форму представления, причём без специальных оговорок.