Арифметические действия в различных сс. Деление. Проверка домашнего задания

Для работы с данными используется кодирование , т.е. выражение данных одного типа через данные другого типа.

Своя система существует и в вычислительной технике - она называется двоичным кодированием и основана на представлении данных последовательностью всего двух знаков: 0 и 1. Эти знаки называются двоичными цифрами, по английски - binarydigit или, сокращенно, bit (бит).

Одним битом могут быть выражены два понятия: 0 или 1 (да или нет, черное или белое, истина или ложь и т. п.). Если количество битов увеличить до двух, то уже можно выразить четыре различных понятия:

Тремя битами можно закодировать восемь различных значений: 000 001 010 011 100 101 110 111

Увеличивая на единицу количество разрядов в системе двоичного кодирования, мы увеличиваем в два раза количество значений, которое может быть выражено в данной системе, то есть общая формула имеет вид:

N=2 m , где:

N - количество независимых кодируемых значений;

т - разрядность двоичного кодирования, принятая в данной системе.

Поскольку бит - слишком мелкая единица измерения, на прак­тике чаще применяется более крупная единица - байт, равная восьми битам.

Используются также более крупные производные единицы данных:

Килобайт (Кбайт) = 1024 байт = 2 10 байт;

Мегабайт (Мбайт) = 1024 Кбайт = 2 20 байт;

Гигабайт (Гбайт) = 1024 Мбайт = 2 30 байт.

В последнее время в связи с увеличением объемов обрабатывае­мых данных входят в употребление такие производные едини­цы, как:

Терабайт (Тбайт) = 1024 Гбайт = 2 40 байт;

Петабайт (Пбайт) = 1024 Тбайт = 2 50 байт;

Экзабайт (Эбайт) = 1024 Пбайт = 2 60 байт.

Кодирование текстовой информации производится с помощью Американского стандартного кода для обмена информацией ASCII, в котором установлены коды символов от 0 до 127. Национальные стандарты отводят под символ 1 байт информации и включают таблицу кодов ASCII, а также коды национальных алфавитов с номерами от 128 до 255. В настоящее время существуют пять различных кодировок кириллицы: КОИ-8, MS-DOS, Windows, Macintosh и ISO. В конце 90-х годов появился новый международный стандарт Unicode, который отводит под каждый символ не один байт, а два байта, и поэтому с его помощью можно закодировать не , а различных символов.



Базовая таблица кодировки ASCII приведена в таблице.

Кодирование цветных графических изображений производится с помощью растра, где каждой точке сопоставлен ее номер цвета. В системе кодирования RGB цвет каждой точки представляется суммой красного (Red), зеленого (Green) и синего (Blue) цветов. В системе кодирования CMYK цвет каждой точки представляется суммой голубого (Cyan), пурпурного (Magenta), желтого (Yellow) и добавлением черного (Black, K) цветов.

Кодирование аналоговых сигналов

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

Аналого-цифровое преобразование заключается в измерении аналогового сигнала через равные промежутки времени τ и кодировании результата измерения n-разрядным двоичным словом. При этом получают последовательность n-разрядных двоичных слов, представляющих с заданной точностью аналоговый сигнал.

Принятый в настоящее время стандарт CD использует так на­зываемый «16-разрядный звук с частотой сканирования 44 кГц». Для приведенного рисунка в переводе на нормальный язык это означает, что «дли­на ступеньки» (т) равна 1/44000 с, а «высота ступеньки» (δ) состав­ляет 1/65 536 от максимальной громкости сигнала (поскольку 2 16 = 65 536). При этом частотный диапазон воспроизведения со­ставляет 0-22 кГц, а динамический диапазон - 96 децибел (что со­ставляет совершенно недостижимую для магнитной или механиче­ской звукозаписи характеристику качества).

Сжатие данных.

Объем обрабатываемых и передаваемых данных быстро растет. Это связано с выполнением все более сложных прикладных процессов, появлением новых информацион­ных служб, использованием изображений и звука.

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

Сжатие текстов связано с более компактным расположением байтов, кодирующих символы. Здесь также использу­ется счетчик повторений пробелов. Что же касается звука и изобра­жений, то объем представляющей их информации зависит от вы­бранного шага квантования и числа разрядов аналого-цифрового преобразования. В принципе, здесь используются те же методы сжа­тия, что и при обработке текстов. Если сжатие текстов происходит без потери информации, то сжатие звука и изображения почти все­гда приводит к ее некоторой потере. Сжатие широко используется при архивировании данных.

Система счисления – представление числа определенным набором символов. Системы счисления бывают:

1. Единичные (система бирок или палочек);

2. Непозиционные (римская);

3. Позиционные (десятичная, двоичная, восьмеричная, шестнадцатеричная и т.д.).

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

Двоичная система счисления включает алфавит из двух цифр: 0 и 1.

Восьмеричная система счисления включает алфавит из 8 цифр: 0, 1, 2, 3, 4, 5, 6 и 7.

Десятичная система счисления включает алфавит из 10 цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9.

Шестнадцатеричная система счисления включает алфавит из 16 цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.

A B C D E F

В вычислительной технике используется кодирование в двоичной системе счисления, т.е. последовательностью 0 и 1.

Для перевода целого числа из одной системы счисления в другую надо выполнить следующий алгоритм:

1. Основание новой системы счисления выразить цифрами исходной системы счисления.

2. Последовательно выполнять деление данного числа на основание новой системы счисления, пока не получится частное, меньшее делителя.

3. Полученные остатки перевести в новую систему счисления.

4. Составить число из остатков в новой системе счисления, начиная с последнего остатка.

В общем случае в позиционной СС с основанием Р любое число Х может быть представлено в виде полинома от основания Р:

Х = а n Р n + a n-1 P n-1 + … + a 1 P 1 + a o P 0 + a -1 P -1 + a -2 P -2 + …+ a -m P -m ,

где в качестве коэффициентов а i могут стоять любые из Р цифр, используемых в СС с основанием Р.

Перевод чисел из 10 СС в любую другую для целой и дробной части числа выполняется различными методами:

а) целая часть числа и промежуточные частные делятся на основание новой СС, выраженное в 10 СС до тех пор, пока частное от деления не станет меньше основания новой СС. Действия выполняются в 10 СС. Результат – частные, записанные в обратном порядке.

б) дробная часть числа и получающиеся затем дробные части промежуточных произведений умножаются на основание новой СС до тех пор, пока не будет достигнута заданная точность, либо не будет получен «0» в дробной части промежуточного произведения. Результат – целые части промежуточных произведений, записанные в порядке их получения.

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

Пример 1. Переводить число 1011101.001 из двоичной системы счисления (СС) в десятичную СС. Решение:

1 ·2 6 +0·2 5 +1 ·2 4 +1 ·2 3 +1 ·2 2 +0 ·2 1 +1 ·2 0 +0 ·2 -1 +0 ·2 -2 +1 ·2 -3 =64+16+8+4+1+1/8=93.125

Пример 2. Переводить число 1011101.001 из восьмеричной системы счисления (СС) в десятичную СС. Решение:

Пример 3 . Переводить число AB572.CDF из шестнадцатеричной системы счисления в десятичную СС. Решение:

Здесь A -заменен на 10, B - на 11, C - на 12, F - на 15.

Перевод 8 (16) числа в 2 форму – достаточно заменить каждую цифру этого числа соответствующим 3-х разрядным (4-х разрядным) двоичным числом. Ненужные нули в старших и младших разрядах отбросить.

Пример 1: перевести число 305,4 8 в двоичную СС.

(_3_ _0 _ _5 _ , _4 _) 8 = 011000101,100 = 11000101,1 2

Пример 2: перевести число 9АF,7 16 в двоичную СС.

(_9 __ _A __ _F __ , _7 __) 16 = 100110101111,0111 2

1001 1010 1111 0111

Для перевода 2-го числа в 8 (16) СС поступают следующим образом: двигаясь от запятой влево и вправо, разбивают двоичное число на группы по 3 (4) разряда, дополняя при необходимости нулями крайние левую и правую группы. Затем каждую группу заменяют соответствующей восьмеричной (16) цифрой.

Пример 1: перевести число 110100011110100111,1001101 2 в восьмеричную СС.

110 100 011 110 100 111,100 110 100 2 = 643647,464 8

Пример 2: перевести число 110100011110100111,1001101 2 в шестнадцатеричную СС.

0011 0100 0111 1010 0111,1001 1010 2 = 347А7,9А 16

Арифметические операции во всех позиционных системах счисления выполняются по одним и тем же хорошо известным вам правилам.

Сложение. Рассмотрим сложение чисел в двоичной системе счисления. В его основе лежит таблица сложения одноразрядных двоичных чисел:

0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 10

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

Сложение многоразрядных двоичных чисел происходит в соответствии с вышеприведенной таблицей сложения с учетом возможных переносов из младших разрядов в старшие. В качестве примера сложим в столбик двоичные числа 110 2 и 11 2:

Вычитание. Рассмотрим вычитание двоичных чисел. В его основе лежит таблица вычитания одноразрядных двоичных чисел. При вычитании из меньшего числа (0) большего (1) производится заем из старшего разряда. В таблице заем обозначен 1 с чертой:

Умножение. В основе умножения лежит таблица умножения одноразрядных двоичных чисел:

Деление. Операция деления выполняется по алгоритму, подобному алгоритму выполнения операции деления в десятичной системе счисления. В качестве примера произведем деление двоичного числа 110 2 на 11 2:

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

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

Непозиционными системами называются такие, у которых каждая цифра сохраняет свое значение независимо от места нахождения в числе. Примером может служить римская система счисления, в которой используются такие цифры как I, V, X, L, C, D, M и т.д.

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

Например, можно записать

Что соответствует числам в десятичной системе счисления

Индекс снизу указывает на основу счисления.

Для перевода положительных чисел, из одной системы счисления в другую известны два правила:

Перевод чисел из системы , в систему;

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

Рассмотрим первое правило . Допустим, число в десятичной системе необходимо представить в двоичной системе . Для этого данное число делится на основание системы представленное в системе , т.е. на 2 10 . Остаток от деления будет младшим разрядом двоичного числа. Целая часть результата от деления вновь делится на 2. Операцию деления повторять столько раз, пока частное не будет меньше двух.

Пример: 89 10 перевести в двоичное число, пользуясь арифметикой десятичной системы счисления

89 10 → 1011001 2

Обратный перевод, согласно того же правила, следующий:

1011001 2 перевести в десятичное число, пользуясь арифметикой двоичной системы счисления

Двоичные числа 1000 и 1001 согласно таблице 2.1 соответственно равны 8 и 9. Поэтому 1011001 2 → 89 10

Иногда обратный перевод удобнее осуществлять, пользуясь общим правилом представления числа в какой-либо системе исчисления.

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

Арифметические и логические операции

Арифметические операции

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

Существуют простейшие физические элементы, которые имеют только два состояния и которые можно интерпретировать как 0 и 1;

Арифметическая обработка очень проста.

Числа в восьмеричной и шестнадцатеричной системах счисления обычно используется как средство замены длинного и поэтому неудобного представления двоичных чисел.

Операции сложения, вычитания и умножения в двоичной системе имеют вид:

Как уже было продемонстрировано ранее, чтобы обойтись только сумматором, то есть выполнять лишь операции сложения, операция вычитания заменена на сложение. Для этого код отрицательного числа формируется как дополнение до чисел 2, 10, 100 и т.д.

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

При сложении цифры суммируются по разрядам, и если при этом возникает избыток, то он переносится влево. Сложение и умножение двоичных чисел выполняется по правилам:

Примеры с двоичными числами:

101001 101 10111 1100,01

1011 + 011 + 10110 - 0,10

110100 1000 101101 1011,11

Умножение

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

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

00000 + 100111

00000 + 100111

11011 + 100111

11110011 101011010001

Деление

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

101001101 1001 − 333 9 11110 110

1001 100101 27 37 - 110 101

1001 1001000 1000

Арифметические действия с числами в восьмеричной и шестнадцатеричной системах счисления выполняются по аналогии с двоичной и десятичной системами. Для этого необходимо воспользоваться необходимыми таблицами.

Процессор не умеет непосредственно осуществлять операцию вычитания, поэтому вычитание приходится сводить к сложению путем представления вычитаемого в так называемом дополнительном коде. Рассмотрим прежде всего обратный код числа. Например, 1001 (исходное число), а 0110 - обратный код + 1 = 0111 дополнительный код.

Т.е. вычитание в двоичной арифметике – это сложение уменьшаемого с дополнительным кодом вычитаемого. Например, из 101 2 вычесть 10 2

1) 10 2 = 010, его обратный код 101

2) затем увеличив обратный код на 1 получим дополнительный код 110

110 (или 5-2=3)

4) Отметим, что перенос из старшего результата означает, что полученный результат положителен

Вопросы для самоконтроля

    Что называется системой счисления?

    В чем отличие позиционных систем счисления от непозиционных?

    Как определяется процесс кодирования информации и почему в нем существует необходимость?

    Какие единицы измерения количества информации вы знаете?

    Почему двоичное представление информации входит в число основных принципов работы современных ЭВМ?

    Переведите из двоичной системы счисления в десятичную: 10100011 2 и 1101011 2 .

    Что такое базис естественной позиционной системе счисления?

    Какие методы перевода чисел от одной системы счисления в другую вы знаете?

Дополнительный материал

Пример 1. Сложим числа 15 и 6 в различных системах счисления.

Пример 2. Сложим числа 15, 7 и 3.

Шестнадцатеричная: F 16 +7 16 +3 16

Ответ: 5+7+3 =25 10 =11001 2 =31 8 = 9 16 .

Проверка: 11001 2 = 2 4 + 2 3 + 2 0 = 16+8+1=25, 31 8 = 3*8 1 + 1*8 0 = 24 + 1 = 25, 19 16 = 1*16 1 + 9*16 0 = 16+9 = 25.

Пример 3. Сложим числа 141,5 и 59,75.

Ответ: 141,5 + 59,75 = 201,25 10 = 11001001,01 2 = 311,2 8 = C9,4 16

Проверка. Преобразуем полученные суммы к десятичному виду: 11001001,01 2 = 2 7 + 2 6 + 2 3 + 2 0 + 2 -2 = 201,25 311,2 8 = 3*8 2 + 1 8 1 + 1*8 0 + 2*8 -1 = 201,25 C9,4 16 = 12*16 1 + 9*16 0 + 4*16 -1 = 201,25

Сложение и вычитание

В системе с основанием для обозначения нуля и первых с-1 натуральных чисел служат цифры 0, 1, 2, ..., с - 1. Для выполнения операции сложения и вычитания составляется таблица сложения однозначных чисел.

Таблица 1 - Сложение в двоичной системе

Например, таблица сложения в шестеричной системе счисления:

Таблица 2 - Сложение в шестеричной системе

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

Например,

Можно обосновать указанное правило сложения чисел, используя представление чисел в виде:

Разберем один из примеров:

3547=3*72+5*71+4*70

2637=2*72+6*71+3*70

(3*72+5*71+4*70) + (2*72+6*71+3*70) =(3+2)*72+(5+6)*7+(3+4)=

5*72+1*72+4*7+7=6*72+4*7+7=6*72+5*7+0=6507

Последовательно выделяем слагаемые по степени основания 7, начиная с низшей, нулевой, степени.

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

Например,

Умножение и деление

Для выполнения действий умножения и деления в системе с основанием с составляется таблица умножения однозначных чисел.

Таблица 3 - Умножение однозначных чисел

Таблица 4 - Умножение в шестеричной системе счисления

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

Например,

При умножении многозначных чисел в промежуточных результатах индекс основания не ставится:

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

Например:


Перевод чисел из одной системы счисления в другую

Существует много различных способов перевода чисел из одной системы счисления в другую.

Способ деления

Пусть дано число N=an an-1. . . a1 а0 р.

Для получения записи числа N в системе с основанием h следует представить его в виде:

N=bmhm+bm-1hm-1+... +b1h+b0 (1)

где 1

N=bmbm-1... b1boh (2)

Из (1) получаем:

N= (bmhm-1+...+b)*h +b0 = N1h+b0, где 0? b0 ?h (3)

To есть, цифра b0 является остатком от деления числа N на число h. Неполное частное Nl = bmhm-1+ . . . +b1 представим в виде:

Nl = (bmhm-2 + ... + b2)h + b1 = N2h+b1, где 0? b2 ?h (4)

Таким образом, цифра bi в записи (2) числа N является остатком от деления первого неполного частного N1 на основание h новой системы счисления. Второе неполное частное N2 представим в виде:

N2 = (bmhm-3+ ... +b3)h+b2, где 0? b2 ?h (5)

то есть цифра b2 является остатком от деления второго неполного частного N2 на основание h новой системы. Так как не полные частные убывают, то этот процесс конечен. И тогда мы получаем Nm = bm, где bm

Nm-1 = bmh+bm.1 = Nmh+bm.1

Таким образом, последовательность цифр bm, bm-1 . . ,b1,b0 в записи числа N в системе счисления с основанием h есть последовательность остатков последовательного деления числа N на основание h, взятая в обратной последовательности.

Рассмотрим пример: Выполнить перевод числа 123 в шестнадцатеричную систему счисления:

Таким образом, число 12310=7(11)16 либо можно записать как 7B16

Запишем число 340227 в пятеричной системе счисления:

Таким образом, получаем, что 340227=2333315

Арифметические операции в позиционных системах счисления

Арифметические операции во всех позиционных системах счисления выполняются по одним и тем же хорошо известным вам правилам.

Сложение. Рассмотрим сложение чисел в двоичной системе счисления. В его основе лежит таблица сложения одноразрядных двоичных чисел:

0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 10

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

Сложение многоразрядных двоичных чисел происходит в соответствии с вышеприведенной таблицей сложения с учетом возможных переносов из младших разрядов в старшие. В качестве примера сложим в столбик двоичные числа 110 2 и 11 2:

Проверим правильность вычислений сложением в десятичной системе счисления. Переведем двоичные числа в десятичную систему счисления и затем их сложим:

110 2 = 1 × 2 2 + 1 × 2 1 + 0 × 2 0 = 6 10 ;

11 2 = 1 × 2 1 + 1 × 2 0 = 3 10 ;

6 10 + 3 10 = 9 10 .

Теперь переведем результат двоичного сложения в десятичное число:

1001 2 = 1 × 2 3 + 0 × 2 2 + 0 × 2 1 + 1 × 2 0 = 9 10 .

Сравним результаты - сложение выполнено правильно.

Вычитание. Рассмотрим вычитание двоичных чисел. В его основе лежит таблица вычитания одноразрядных двоичных чисел. При вычитании из меньшего числа (0) большего (1) производится заем из старшего разряда. В таблице заем обозначен 1 с чертой:

Умножение. В основе умножения лежит таблица умножения одноразрядных двоичных чисел:

Деление. Операция деления выполняется по алгоритму, подобному алгоритму выполнения операции деления в десятичной системе счисления. В качестве примера произведем деление двоичного числа 110 2 на 11 2:

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

Задания

1.22. Провести сложение, вычитание, умножение и деление двоичных чисел 1010 2 и 10 2 и проверить правильность выполнения арифметических действий с помощью электронного калькулятора.

1.23. Сложить восьмеричные числа: 5 8 и 4 8 , 17 8 и 41 8 .

1.24. Провести вычитание шестнадцатеричных чисел: F 16 и А 16 , 41 16 и 17 16 .

1.25. Сложить числа: 17 8 и 17 16 , 41 8 и 41 16