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

 

Сегодня в большинстве приложений Windows используется универсальный стандарт кодирования символов, представляющий собой 16-битную кодировку символов для всех языков – Unicode (юникод), допускающий 216=65536 кодовых комбинаций для практически всех применяемых символов (букв алфавитов разных языков, математических, декоративных символов и т.д.). В отличие от ASCII, в Unicode один символ кодируется двумя байтами.

Коды в стандарте Unicode разделены на несколько областей. Область с кодами от U+0000 до U+007F содержит символы набора ASCI с соответствующими кодами. Символы ASCII включены в Unicode как расширенные. Далее расположены области знаков различных письменностей, знаки пунктуации и технические символы. Часть кодов зарезервирована для использования в будущем.

Представление чисел

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

Системы счисления делятся на позиционные   и     непозиционные.

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

1 – I , 5 – V , 10 – X , 50 – L , 100 – С, 500 – D , 1000 – M ,
Например:

DDCXXII =1122: два раза по 500, один раз – 100, 2 раза по 10 и две единицы;

MMII =2002: два раза по 1000 и две единицы. 

Если же в записи числа справа записана цифра, большая, чем слева, то это означает уменьшение цифры справа на значение цифры слева:

MCMII =1902, т.к. означает M ( CM ) II , т.е. 1000 + 900 +2.

 

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

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

Например, в 10-ичной системе счисления число
337710 =3*103+3*102+7*101+7*100 =3*1000+3*100+7*10+7, т.е. вклад и цифры 3, и цифры 7 различен.

Это же число в 5-ричной системе счисления записывается как 1020025 , т.к. 3377 = 1*55 +0*54 +2*53 +0*52 + 0*51 +2*50, где 55=3125, а 53=125.

Это же число в 2-ичной системе счисления записывается как 1101001100012 , т.к. 3377 = 1*211 +1*210 +0*29 +1*28 +0*27 +0*26 +1*25 +1*24 +0*23 +0*22 +0*21+1*20,  где 2 11 = 2048 , 210=1024, 29 = 512, 28 =256 и т. д.

Запись произвольного числа А в позиционной системе счисления:

          А = ± а m-1 am-2…ai…a1a0 , a-1 a-2…a-n,

где m – количество целых разрядов; n – дробных; m+n – разрядность числа.

Разряды числа нумеруются:

· в целой части числа положительными целыми числами, начиная с нуля,

· в дробной – отрицательными числами, начиная с -1.

Например, для числа 7137.436 имеем:

 

разряды 3210-1-2-3
число 7137,4 3 6

 

Основание позиционной системы – это число, которое:

•  определяет количество различных цифр, используемых для представления числа;

•  показывает, во сколько раз единица (i -1) разряда числа меньше единицы i-го разряда этого числа.

Наименьшим основанием для позиционных систем является 2.

 

Развернутой формой записи числа А в позиционной системе счисления с основанием q называется разложение числа в ряд по степеням q, представляющее собой его значение:

А q = ± а m-1 qm-1 +…+ ai qi …+ a1q1 + a0 q0 + …+a-nq-n ,

 

А=777.77 при q=10, m =3, n =2 (цифра 7 представляет сотни, десятки, единицы, десятые и сотые доли единицы):

 

 

 


Для числа 123,456 при q=10, m =3, n =3 развернутая форма записи выглядит так:

123.45610 = 1* 102 + 2* 101 + 3* 100 + 4* 10-1 + 5* 10-2 + 6* 10-3.

 

Для числа -101,1101 при q=2, m =3, n =4 развернутая форма записи выглядит так:

-101.11012 = -(1* 22 + 0* 21 + 1* 20 + 1* 2-1 + 1* 2-2 + 1* 2-4).

 

Для числа AB .1 F 2 при q=16, m =2, n =3:    

AB .1 F 216 = A * 161 + B * 160 + 1* 16-1 + F * 16-2 + 2*16-3 =171.1215820310;

 

Количество различных чисел, которое можно представить в q-ичной системе счисления, зависит от основания системы q и разрядности числа (значений m и n).

Максимальное целое число, которое может быть представлено в m разрядах системы счисления с основанием q:

Nmax = qm –1.

Минимальное значащее (не равное 0) число, которое можно записать в n разрядах дробной части:

Nmin = q-n.

 

Вводимые в компьютер числа (и выводимые из него), как правило, представляются в 10-ичной системе счисления. В ЭВМ данные любого типа – числовые, символьные, графические, звуковые – представляются в 2-ичной с/с. Для компактного представления числовые данные записываются в 16-ричной с/с.

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

Диапазоны цифр для представления чисел в различных системах счисления представлены в таблице 2.

Таблица 2. Диапазоны цифр для представления чисел в различных системах счисления

Основание системы счисления 16 10 8 4 3 2
Диапазон цифр 0 - 15 0 - 9 0 - 7 0 - 3 0 - 2 0 - 1

 

Для представления восьмеричной цифры необходимо 3 двоичных разряда. Если есть 4 бита, то это 16 различных двоичных последовательностей  для хранения целых неотрицательных чисел. Итак, мы можем хранить в этом случае числа из интервала от 0 до 15.

В двоично-десятичной системе каждая десятичная цифра также представляется четырьмя двоичными разрядами, но используются не 16, а только 10 значений 4-разрядного двоичного числа.

При работе с битами не так легко выразить любое число, используя только единицы и нули, т.е. его двоичное представление. Для этого используются шестнадцатеричные числа. В 16-ричной системе счисления значения разрядов от 0 до 9 изображаются десятичными цифрами, а значения от 10 до 15 – латинскими буквами A( a), B( b), C( c), D( d), E( e), F( f). Если основание системы превышает 10, то в качестве дополнительных цифр выступают буквы латинского алфавита по порядку.

Значения двоичных кодов десятичных и шестнадцатеричных цифр представлены в таблице 3.

Таблица 3. Значения двоичных кодов десятичных и шестнадцатеричных цифр

 

цифра код цифра код
0 0000 8 1000
1 0001 9 1001
2 0010 A 1010
3 0011 B 1011
4 0100 C 1100
5 0101 D 1101
6 0110 E 1110
7 0111 F 1111



Дата: 2019-05-28, просмотров: 217.