Информатика и программирование - Основы информатики (926517), страница 7
Текст из файла (страница 7)
Решение. В примере 4 .16 был произведен перевод абсолютного значения числа –25,6875 в двоичную систему и было получено 9 разрядов:
25,6875 = 11001,10112.
Нормализуем число, сдвинув запятую влево и повысив порядок:
1,100110112 24.
После отбрасывания целой части остается 23 разряда дробной части (в соответствии с форматом (23,8)), записываемые как мантисса:
10011011000000000000000.
Порядок равен 4 (степень двойки после сдвига запятой влево). Произведем его смещение и перевод в двоичную систему счисления:
4 + 127 = 131 = 100000112.
Число –25,6875 отрицательное, следовательно, знаковый разряд равен 1.
Все готово для представления числа –25,6875 в одинарном вещественном формате по схеме знаковый разряд + порядок + мантисса:
1 10000011 10011011000000000000000.
Разделим это число по 8 разрядов, сформируем байты и запишем их шестнадцатеричными числами:
11000001 | 11001101 | 10000000 | 00000000 |
C1 | CD | 80 | 00 |
Таким образом, число –25,6875 можно записать как C1CD8000. □
Как и форматы целых чисел, форматы вещественных чисел хранятся в памяти ЭВМ в обратном порядке следования байт (сначала младшие, потом старшие).
Арифметические операции над числами с плавающей точкой осуществляются в следующем порядке.
При сложении (вычитании) чисел с одинаковыми порядками их мантиссы складываются (вычитаются), а результату присваивается порядок, общий для исходных чисел. Если порядки исходных чисел разные, то сначала эти порядки выравниваются (число с меньшим порядком приводится к числу с большим порядком), а затем выполняется операция сложения (вычитания) мантисс. Если при выполнении операции сложения мантисс возникает переполнение, то сумма мантисс сдвигается влево на один разряд, а порядок суммы увеличивается на 1.
При умножении чисел их мантиссы перемножаются, а порядки складываются.
При делении чисел мантисса делимого делится на мантиссу делителя, а для получения порядка частного из порядка делимого вычитается порядок делителя. При этом если мантисса делимого больше мантиссы делителя, то мантисса частного окажется больше 1 (происходит переполнение) и запятую следует сдвинуть влево, одновременно увеличив порядок частного.
5.3.Представление символов в памяти ЭВМ
В памяти ЭВМ каждый символ (например, буква, цифра, знак препинания) закодирован в виде беззнакового целого двоичного числа. Кодировка символов – это соглашение об однозначном соответствии каждому символу одного беззнакового целого двоичного числа, называемого кодом символа.
Для русского алфавита существует несколько кодировок (табл. 5 .4).
Таблица 5.4. Кодировки букв алфавита русского языка
Кодировка | Операционная система | Количество кодируемых символов | Размер кода одного символа, байт |
866 | MS DOS | 256 | 1 |
1251 (Win-1251, CP-1251) | Windows | 256 | 1 |
КОИ-8 (КОИ-8Р) | Unix | 256 | 1 |
Unicode | Windows | 65536 | 2 |
В кодировках 866, 1251, КОИ-8 и Unicode первые 128 символов (цифры, заглавные и строчные латинские буквы, знаки препинания) со значениями кодов от 0 до 127 одни и те же и определяются стандартом ASCII (American Standard Code for Information Interchange – американский стандартный код для обмена информацией). Цифры 0, 1, ..., 9 имеют соответственно коды 48, 49, ..., 57; прописные латинские буквы A, B, ..., Z (всего 26 букв) – коды 65, 66, ..., 90; строчные латинские буквы a, b, ..., z (всего 26 букв) – коды 97, 98, ..., 122.
Вторые 128 символов со значениями кодов от 128 до 255 кодировок 866, 1251, КОИ-8 содержат символы псевдографики, математические операции и символы алфавитов, отличных от латинского. Причем разные символы разных алфавитов имели один и тот же код. Например, в кодировке 1251 символ русского алфавита Б имеет тот же код, что и символ Á в стандартной кодировке ASCII. Такая неоднозначность вызывала проблемы с кодировкой текста. Поэтому была предложена двухбайтовая кодировка Unicode, которая позволяет закодировать символы многих нелатинских алфавитов.
Десятичные значения кодов букв русского алфавита в кодировках 866, 1251 и Unicode приведены в табл. 5 .5.
Таблица 5.5. Значения кодов букв русского алфавита
Кодировка | Коды русских букв | |||
А-Я (без Ё) | а-я (без ё) | Ё | ё | |
866 | 128-159 | 160-175 (а-п) 224-239(р-я) | 240 | 241 |
1251 | 192-223 | 224-255 | 168 | 184 |
Unicode | 1040-1071 | 1072-1103 | 1025 | 1105 |
В кодировке КОИ-8 (табл. 5 .6) коды букв русского алфавита упорядочены не по расположению букв в алфавите, а по соответствию их буквам латинского алфавита. Например, коды латинских букв А, В, С имеют соответственно десятичные значения 65, 66, 67, а русских букв А, Б, Ц – значения 225, 226, 227.
Таблица 5.6. Значения кодов букв русского алфавита
в кодировке КОИ-8
A | 225 | К | 235 | Х | 232 | а | 193 | к | 203 | х | 200 |
Б | 226 | Л | 236 | Ц | 227 | б | 194 | л | 204 | ц | 195 |
В | 247 | М | 237 | Ч | 254 | в | 215 | м | 205 | ч | 222 |
Г | 231 | Н | 238 | Ш | 251 | г | 199 | н | 206 | ш | 219 |
Д | 228 | О | 239 | Щ | 253 | д | 196 | о | 207 | щ | 221 |
Е | 229 | П | 240 | Ъ | 255 | е | 197 | п | 208 | ъ | 223 |
Е | 179 | Р | 242 | Ы | 249 | ё | 163 | р | 210 | ы | 217 |
Ж | 246 | С | 243 | Ь | 248 | ж | 214 | с | 211 | ь | 216 |
З | 250 | Т | 244 | Э | 252 | з | 218 | т | 212 | э | 220 |
И | 233 | У | 245 | Ю | 224 | и | 201 | у | 213 | ю | 192 |
Й | 234 | Ф | 230 | Я | 241 | й | 202 | ф | 198 | я | 209 |
Глава 6.ЛОГИЧЕСКИЕ ОСНОВЫ ЭВМ
6.1.Алгебра высказываний.
Понятие, высказывание, умозаключение
Принципы работы ЭВМ основываются на законах математической логики, поэтому ее элементы широко используются для поиска и обработки информации и при разработке схем электронных устройств.
Математическая логика – это наука о формах и способах мышления и их математическом представлении.
Существуют три формы мышления:
1) понятие;
2) высказывание;
3) умозаключение.
Понятие объединяет совокупность объектов, обладающими некоторыми существенными признаками, которые отличают их от других объектов. Например, понятие «звезда» объединяет множество светящихся газовых шаров. Это понятие трудно спутать с таким понятием как, например, «автомобиль». Объекты, соответствующие одному понятию, образуют множество.
Понятие имеет две характеристики:
1) содержание;
2) объем.
Содержание понятия – это совокупность существенных признаков, выделяющих объекты, соответствующие данному понятию, среди других объектов. Например, содержание понятия «человек» можно раскрыть так: «Общественное существо, обладающее сознанием и разумом».
Объем понятия «человек» определяется численностью людей, живущих в мире.
Высказывание (суждение, утверждение) – это повествовательное предложение, в котором утверждаются или отрицаются свойства реальных предметов и отношения между ними. Поэтому высказывание может быть истинным или ложным.
Истинным называется высказывание, в котором связь понятий правильно отражает свойства и отношения реальных вещей, например: «Москва – столица России». Истинность высказывания кодируется единицей (1) и имеет значение «истина».
Ложным высказывание будет в том случае, когда оно не соответствует реальной действительности, например: «Париж – столица США». Ложность высказывания кодируется нулем (0) и имеет значение «ложь».
Обычно высказывания обозначаются логическими переменными – заглавными латинскими буквами с индесом или без, например, A = «Сегодня идет дождь». Логические переменные принимают только два значения 0 и 1.
Умозаключение позволяет из известных фактов (истинных высказываний) получать новые факты. Например, из факта «Все углы треугольника равны» следует истинность высказывания «Этот треугольник равносторонний».