Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Вопрос № 10 Далее рассмотрим особенности представления в ЭВМ вещественных чисел.




Вещественные числа в памяти ЭВМ могут быть записаны в двух формах:

1. С фиксированной точкой.

2. С плавающей точкой.

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

Пример 4. В случае десятичной системы счисления, пяти разрядов для представления целой части и восьми разрядов для представления дробной части, числа 632, 24.1254 и ‑0.0125012 будут иметь вид:

+00632.00000000 +00024.12540000 -00000.01250120

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

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

±M×10±R,

где M – мантисса числа (),

R – порядок числа

Пример 5. В форме с плавающей точкой числа из предыдущего примера будут иметь вид:

+0.632×10+3 +0.241254×10+2 -0.125012×10-1

Далее рассмотрим особенности представления дробной части вещественного числа в двоичной системе счисления. Для перевода числа Q (|Q|<1), записанного в десятичной системе счисления, в двоичную систему счисления, можно использовать следующий алгоритм:

1. Число Q умножается на 2.

2. Целая часть полученного результата приписывается справа к двоичной записи числа.

3. Дробная часть результата, полученного в п. 1 принимается за число Q.

4. Осуществляется переход к п. 1.

Процесс продолжается вплоть до достижения заданной точности или до того момента, когда в п. 3 получится число 0.

Пример 6. Представить в двоичной системе счисления число 0.3125.

0.3125 x 2 = 0.625 ® 0

0.625 x 2 = 1.25 ® 1

0.25 x 2 = 0.5 ® 0

0.5 x 2 = 1.0 ® 1

0.0 {x 2 = 0}.

Таким образом, 0.3125(10) = 0.0101(2),

Пример 7. Представить в двоичной системе счисления число 0.428, если для записи дробной части этого числа выделен 1 байт.

1) 0.428 x 2 = 0.856 ® 0

2) 0.856 x 2 = 1.712 ® 1

3) 0.712 x 2 = 1.424 ® 1

4) 0.424 x 2 = 0.848 ® 0

5) 0.848 x 2 = 1.696 ® 1

6) 0.696 x 2 = 1.392 ® 1

7) 0.392 x 2 = 0.784 ® 0

8) 0.784 x 2 = 1.568 ® 1

… … … … …

0.428(10)» 0.01101101(2)

 

Очевидно, в общем случае для перевода вещественного числа (без знака) в 2 с/с необходимо перевести отдельно целую часть в 2 с/с (делением в столбик на 2), отдельно – дробную (по вышеописанному алгоритму), затем объединить (сложить) полученные результаты.

Пример 8.

9.3125(10) = 9(10) + 0.3125(10) = 1001(2) + 0.0101(2) = 1001.0101(2).

 

Приведенный пример показывает, что вещественные числа хранятся в памяти ПК, вообще говоря, приближенно. {Этот факт следует учитывать при написании программ. Например, если в память ПК занести число Q равное 0.428, а затем выполнить проверку условия «Q=0.428?», то, вполне вероятно, будет получен результат «не верно».}

Для перевода двоичного числа anan-1…a1a0 . a-1a-2…a1- s a- s в десятичную систему счисления используется формула

an ×2 n + an-1 ×2 n -1+ …+ a1 ×21+ a0 ×20+ a-1 ×2-1+ a-2 ×2-2+…+ a1-s ×21- s + a-s ×2- s

 

Пример 9. Перевести в десятичную систему счисления двоичное число, полученное в примере 7.

0.01101101(2) = 0×20+0×2-1+1×2-2+1×2-3+0×2-4+1×2-5+1×2-6+0×2-7+1×2-8 = 0.42578125 (не равно 0.428!)

Вопрос № 11 Следует отметить, что запись чисел в двоичной системе счисления является довольно громоздкой. Поэтому при программировании вместо двоичной системы счисления часто используется шестнадцатеричная, в которой для отображения цифр больших 9 используются буквы A=10, B=11, C=12, D=13, E=14, F=15. Для перевода чисел из двоичной системы счисления в шестнадцатеричную каждой шестнадцатеричной цифре ставят в соответствие группу из четырех двоичных разрядов (табл. 1).

 

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

Пример 10. Перевести в шестнадцатеричную систему счисления двоичное число 1010101101001010111010.

Разобьем данное число на группы по 4 разряда. Т.к. всего число содержит 22 разряда, то слева необходимо приписать два нуля: 0010 1010 1101 0010 1011 1010. Воспользовавшись табл. 1, получаем: 1010101101001010111010(2) = 2AD2BA(16)

Замечание. Чтобы отличать шестнадцатеричные числа от десятичных, в конце записи шестнадцатеричного числа указывается символ h (hexadecimal – шестнадцатеричный)

Пример 11. 2035h = 10000000110101(2) = 8245 (проверить самостоятельно).

Вопрос № 12

Представление текстовой информации

 

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

В ЭВМ, как правило, используются 8-разрядные коды символов. Это позволяет закодировать 256 различных символов, {чего вполне достаточно для представления многих символов, используемых на практике.} Поэтому для кода символа достаточно выделить в памяти один байт.

В ПК наряду с более современными (Windows-1251, KOI-8 и др.) используется система кодировки ASCII (American Standard Code for Information Interchange). Кодировка ASCII имеет основной стандарт и его расширение. Основной стандарт использует для кодирования символов коды 00h – 7Fh, расширение стандарта – коды 80h – FFh. Основной стандарт является международным и используется для кодирования управляющих символов, цифр и букв латинского алфавита. В расширении стандарта кодируются символы псевдографики и букв национального алфавита. Кодировка ASCII некоторых символов приведена в табл.

Пример 12. Название шведской музыкальной группы “ABBA” кодируется следующим образом:

а) в 2 с/с: 01000001010000100100001001000001;

б) в 16 с/с: 41424241.

 

Вопрос № 13





Поделиться с друзьями:


Дата добавления: 2016-11-12; Мы поможем в написании ваших работ!; просмотров: 385 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Ваше время ограничено, не тратьте его, живя чужой жизнью © Стив Джобс
==> читать все изречения...

2195 - | 2137 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.