- •Информация и данные Информация Информация и формы её представления
- •Измерение информации
- •Информатика
- •Системы счисления Общие сведения о системах счисления
- •Позиционные системы счисления
- •Перевод чисел из одной системы счисления в другую
- •Перевод восьмеричных и шестнадцатеричных чисел в двоичную систему
- •Кодирование данных Кодирование данных двоичным кодом
- •Кодирование текста
- •Кодирование графических данных
- •Кодирование звуковой информации
- •Хранение данных Единицы хранения данных
- •Понятие о файловой структуре
- •Контрольные вопросы и задания
- •Приложение. Кодовые таблицы Кодировка ibm – соответствует кодировке ascii
- •Кодировка Windows
- •Альтернативная кодировка госТа
Позиционные системы счисления
Позиционные системы счисления более удобны для выполнения вычислений.
Для представления чисел в ЭВМ используется двоичная система, так как устройства, имеющие два устойчивых состояния наиболее надёжны и просты в реализации. Назвать причину, по которой повсеместное распространение получила десятичная система счисления, вряд ли удастся. Можно только предположить, что с древних времён люди считали на пальцах, а пальцев у людей по десять на руках и ногах.
Преимущества двоичной системы перед другими системами:
для ее реализации нужны технические устройства с двумя устойчивыми состояниями;
представление информации посредством только двух состояний надежно и помехоустойчиво;
возможно применение аппарата булевой алгебры для выполнения логических операций;
двоичная арифметика намного проще десятичной. Так, двоичная система счисления имеет самую короткую таблицу умножения: 11=1.
Недостаток двоичной системы – быстрый рост числа разрядов, необходимых для записи чисел. В среднем длина двоичного числа в 3,3 раза превышает длину десятичного числа.
Двоичная система, удобная для компьютеров, для человека неудобна из-за ее громоздкости и непривычной записи. Для записи кодов, машинных команд целесообразно использовать восьмеричную и шестнадцатеричную системы. Так как 8=23, 16=24, то числа в этих системах имеют в 3 и 4 раза меньше разрядов по сравнению с двоичной системой и при этом воспринимаются человеком почти так же легко, как десятичные. Кроме того, перевод чисел из двоичной системы в восьмеричную и шестнадцатеричную (и наоборот) выполняется очень просто.
Любое число в позиционной системе счисления записывается в виде последовательности цифр, разделённых запятой (или точкой) на целую и дробную части.
В каждой системе счисления цифры упорядочены в соответствии с их значениями:
двоичная: 0, 1
восьмеричная: 0, 1, 2, 3, 4, 5, 6, 7
десятичная: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
шестнадцатеричная: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
Перевод чисел из одной системы счисления в другую
Перевод чисел из одной системы счисления в другую основан на разложении числа по степеням основания системы счисления. Например, для перевода числа в восьмеричную систему счисления его надо разложить по степеням 8, а для перевода в двоичную систему – по степеням 2:
8510 = 182 + 281 + 580 = 1258
32710 = 582 + 081 + 780 = 5078
2710 = 124 + 123 + 022 + 021 + 120 = 110012
8510 = 126 + 025 + 124 + 023 + 122 + 021 + 120 = 10101012
9,2510 = 123 + 022 + 021 + 120 + 02-1 + 12-2 = 1001,012
Чтобы выполнить перевод необходимо:
найти самую высокую степень основания системы счисления, которая присутствует в числе. Например, для числа 327 это 2, так как 83=512, 512>327;
выписать все степени основания системы счисления от самой высокой до нулевой. В примере 8510 = 82 + 81 + 80;
вычислить коэффициенты при степенях:
разделить число на основание в самой высокой степени и найти остаток. Для числа 327 получим: 327/64 = 5, остаток равен 327-645 = 327-320 = 7;
повторять предыдущий пункт для остатка до тех пор, пока он не станет равным нулю. Для остатка 7 самая высокая степень 8 равна 0 (80=1): 7/1 = 7, 7-7 = 0;
выписать все коэффициенты при степенях основания системы счисления. Нулевые коэффициенты опускать нельзя! В примере получим 507.
Итак, запись числа в любой позиционной системе счисления – это представление числа в виде суммы степеней основания системы счисления с соответствующими коэффициентами. Именно это основополагающее утверждение используется при переводе чисел из одной системы счисления в другую.
Nq = Kmqm + Km-1qm-1 + Km-2qm-2 + … +K0q0 + K-1q-1 + K-2q-2 +…
Для упрощения расчётов были разработаны правила, следуя которым можно перевести число из одной системы в другую, действуя чисто формально. Алгоритм перевода целых чисел следующий:
разделить число на основание системы счисления и зафиксировать остаток;
частное, не равное нулю, разделить на основание системы счисления и зафиксировать остаток;
повторять пункт 2 до тех пор, пока частное не станет равным нулю;
остатки записать слева направо, начиная с самого нижнего (когда частное равно нулю).
Пример 1.12. Перевести число 85 из десятичной системы в двоичную, восьмеричную и шестнадцатеричную системы счисления.
10 8 |
|
10 2 |
|
10 16 |
||||||||||||
85 |
8 |
|
|
|
85 |
2 |
|
|
|
|
|
|
|
85 |
16 |
|
5 |
10 |
8 |
|
|
1 |
42 |
2 |
|
|
|
|
|
|
5 |
5 |
16 |
|
2 |
1 |
8 |
|
|
0 |
21 |
2 |
|
|
|
|
|
|
5 |
0 |
|
|
1 |
0 |
|
|
|
1 |
10 |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
5 |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
2 |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
1 |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
0 |
|
|
|
|
8510= 1258 |
|
8510= 10101012 |
|
8510= 5516 |
||||||||||||
Для перевода правильной десятичной дроби необходимо:
умножить дробную часть на основание системы счисления;
умножить дробную часть полученного произведения на основание системы счисления;
повторять пункт 2 до тех пор, пока дробная часть очередного произведения не станет равной нулю, либо не будет достигнута требуемая точность;
сформировать дробь, записав целые части полученных произведений в порядке их появления.
Пример 1.13. Перевести правильную дробь 0,25 из десятичной системы в двоичную, восьмеричную и шестнадцатеричную системы счисления.
10 2 |
10 8 |
10 16 |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
0, |
25 |
|
|
0, |
25 |
|
|
0, |
25 |
|
|
|
2 |
|
|
|
8 |
|
|
|
16 |
|
|
0 |
50 |
|
|
2 |
00 |
|
|
4 |
00 |
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
1 |
00 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0,2510 = 0,012 |
0,2510 = 0,28 |
0,2510 = 0,416 |
|||||||||
Для чисел, имеющих как целую, так и дробную части, перевод из десятичной системы счисления в другую осуществляется отдельно для целой и дробной частей.
Перевод в десятичную систему числа, записанного в любой позиционной системе счисления, сводится к вычислению значения многочлена, представляющего собой разложение числа по степеням основания системы счисления.
