Сделай Сам Свою Работу на 5

Диапазоны значений целых чисел со знаком





Лекция 4. Арифметические основы компьютеров

Лекция 1

Система счисления.

Система счисления — это способ записи чисел с помощью заданного набора цифр.

Существуют позиционные и непозиционные системы счисления.

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

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

700 + 50 + 7 + 0,7 = 7•102 + 5•101 + 7•100 + 7•10-1 = 757,7.

Любая позиционная система счисления характеризуется своим основанием.

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

В десятичной системе используется десять различных цифр. Однако

возможно бесчисленное множество позиционных систем: двоичная, троичная, четверичная и т.д. Запись чисел в системе счисления с основанием - qозначает сокращенную запись выражения в общем виде:



an-1 an-2…. a1 a0 , a-1 a-2… a-m=an-1 qn-1 + an-2 qn-2+ ... + a1 q1 + a0 q0 + a-1 q-1 + ... + a-m q-m,

где ai – цифры числа в системе счисления; n и m – число целых и дробных разрядов, соответственно.

Целые числа в позиционных системах счисления.

Целые числа в любой системе счисления порождаются с помощью общего Правила счета:

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

Применяя это правило, можно записать первые десять целых чисел

· в двоичной системе: 0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001;

· в троичной системе: 0, 1, 2, 10, 11, 12, 20, 21, 22, 100;

· в пятеричной системе: 0, 1, 2, 3, 4, 10, 11, 12, 13, 14;

· восьмеричной системе: 0, 1, 2, 3, 4, 5, 6, 7, 10, 11.

Системы счисления для компьютера.

Кроме десятичной широко используются системы с основанием, являющимся целой степенью числа 2, а именно:



· двоичная (используются цифры 0, 1);

· восьмеричная (используются цифры 0, 1, ..., 7);

· шестнадцатеричная (для первых десяти цифр от нуля до девяти используются цифры 0, 1, ..., 9, а для следующих цифр — от десяти до пятнадцати – в качестве цифр используются символы A, B, C, D, E, F).

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

а) для нее нужны технические устройства только с двумя устойчивыми состояниями (есть ток — нет тока, намагничен — не намагничен и т.п.);

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

Недостатком двоичной системы является быстрый рост числа разрядов, необходимых для записи чисел.

Восьмеричная и шестнадцатеричная системы счисления.

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

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

Правило:Перевод восьмеричных и шестнадцатеричных чисел в двоичную систему: достаточно каждую цифру числа заменить эквивалентной ей двоичной триадой (тройкой цифр для восьмеричной) или тетрадой (четверкой двоичных цифр для 16-ой системы).

Например: 1538 = 001 101 0112 .

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

 



Например: 010 100 1112 = 2478 .

 

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

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

Пример: Перевести число 7510 из десятичной системы в двоичную, восьмеричную и шестнадцатеричную:

 

Ответ: 7510 = 1 001 0112 = 1138 = 4B16.

 

2 8 16

75 | 1 75 | 3 75 | B (11)

37 | 1 9 | 1 4 | 4

18 | 0 1 | 1 0 |

9 | 1 0 |

4 | 0 /\

2 | 0 |

1 | 1 |

0 |

Пеpевод пpавильной десятичной дpоби в любую

Другую позиционную систему счисления.

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

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

Пример: Перевести число 0,3510 из десятичной системы в двоичную, восьмеричную и шестнадцатеричную:

Например: 0,3510 *8 = (0,) (2),8*8 = (6),4*8 = (3),2 = 0,2638

0,3510 *2 = (0,) (0),7*2 = (1),4*2 = (0),8*2=(1),6*2=(1),2*2=(0),4=0,0101102

0,3510 *16 = (0,) (5),6*16 = (9),6 = 0,5916

Ответ: 0,3510 = 0,0101102 = 0,2638 = 0,5916 .

 

Пеpевод числа из двоичной (восьмеpичной, шестнадцатеpичной) системы в десятичную.

Правило: При переводе числа из двоичной (восьмеричной, шестнадцатеричной) системы в десятичную надо это число представить в виде суммы степеней основания его системы счисления.

 

Примеp: 1138 = 1*82 + 1*81 + 3*80 = 64+ 8 + 3 = 7510.

 

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

 

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

Сложение

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

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

178 (1510) F16 (1510) 11112 (1510)

+ 68 + 616 + 1102

----- ------------ -----------

258 (1310-810=58) 1516 (2110-1610=516) 101012

 

Ответ: 1510 + 610 = 2110 = 101012 = 258 = F16+616 = 1516.

Проверка. Для контроля преобразуем полученные суммы к десятичному виду и получим в результате число 2110:
101012 = 24 + 22 + 20 = 16+4+1 = 2110,
258 = 2*81 + 5*80 = 16 + 5 = 2110,
1516 = 1*161 + 5*160 = 16+5 = 2110.

Пример 2. Сложим в различных системах счисления вещественные числа 141,510 и 59,7510.

 

Ответ: 141,510 + 59,7510 = 201,2510 = 11001001,012 = 311,28 = C9,416

8 0,2510 *8= 0, (2),0 = 0,28

201 | 1

25 | 1

3 | 3

0 | 3118 +0,28 = 311,28

Проверка. Для контроля преобразуем полученные суммы к десятичному виду:

11001001,012 = 27 + 26 + 23 + 20 + 2-2 = 128+64+8+1+ 0,25= 201,2510

311,28 = 3*82 + 1•81 + 1*80 + 2*8-1 = 192+8+1+0,25= 201,2510

C9,416 = 12*161 + 9*160 + 4*16-1 = 192+9+0,25= 201,2510

Вычитание

Операция вычитания является обратной по отношению к сложению.

Пример 3.

Вычтем единицу из чисел в разных системах счисления: 102, 108 и 1016 :

102 – 12 = 12 ; 108 - 1= 78 ; 1016 - 1 = F16 .

Пример 4. Вычтем число 59,7510 из числа 201,2510.

Ответ: 201,2510 – 59,7510 = 141,510 = 10001101,12 = 215,48 = 8D,816.

8 0,510* 8 = 0, (4)0 = 0,48

141 | 5

17 | 1

2 | 2

0 | 2158 + 0,48 = 215,48

 

Проверка. Преобразуем полученные разности к десятичному виду:
10001101,12 = 27 + 23 + 22 + 20 + 2–1 = 128+8+4+1+0,5= 141,510;
215,48 = 2*82 + 1*81 + 5*80 + 4*8–1 = 128+8+5+0,5= 141,510;
8D,816 = 8*161 + D*160 + 8*16–1 = 128+13+0,5= 141,510.

Умножение

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

Умножение столбиком в двоичной системе сводится к сдвигам множимого и сложениям по раздядам.

Пример 7. Перемножим числа 510 и 610.

Ответ: 510*610 = 3010 = 111102 = 368.

2 или 1012 (510)

3010 | 0 *1102 (610)

15 | 1 ------------

7 | 1 0002

3 | 1 101

1 | 1 101

0 --------------

111102

Проверка. Преобразуем полученные произведения к десятичному виду:

 

111102 = 24 + 23 + 22 + 21 = 3010

 

368 = 3•81 + 6•80 = 3010.

Деление

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

Пример8. Разделим число 3010 на число 610.

Ответ: 3010 : 610 = 510 = 1012 = 58.

Пример 9. Разделим число 3510 на число 1410, здесь 3510 = 438 , 1410= 168 .

3510 : 1410 = 2,510

В восьмеричной же системе: 438 : 168 = 2,48.

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

438 |168 168 168

348 2,4 * 2 * 4

708 348 (6*2=1210 = 148) 708 (6*4 = 2410 = 308)

708 (1*2+1=3) (1*4+3 = 7)

Ответ: 3510 : 1410 = 2,510 = 10,12 = 2,48.

Проверка. Для проверки преобразуем полученные частные к десятичному виду:
10,12 = 21 + 2 -1 = 2,510;
2,48 = 2*80 + 4*8-1 = 2,510.

Лекция 2

Представление в компьютере целых чисел.

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

Целые числа без знака обычно занимают в памяти один или два байта и принимают в однобайтовом формате значения от 000000002 до 111111112 , а в двухбайтовом формате — от 00000000 000000002 до 11111111 111111112.

Диапазоны значений целых чисел без знака

Формат числа в байтах Диапазон
Запись с порядком Обычная запись
0 ... 28–1 0 ... 255
0 ... 216–1 0 ... 65535

 

Примеры:

а) число в однобайтовом формате: 7210 = 1108 = 010010002

б) это же число в двубайтовом формате: 7210 = 00000000010010002

в) число 65535 в двубайтовом формате: 6553510 = 11111111111111112

Целые числа со знаком

Целые числа со знаком обычно занимают в памяти компьютера один, два или четыре байта, при этом самый левый (старший) разряд содержит информацию о знаке числа. Знак “плюс” кодируется нулем, а “минус” — единицей.

Диапазоны значений целых чисел со знаком

Формат числа в байтах Диапазон
Запись с порядком Обычная запись
–27 ... 27–1 –128 ... 127
–215 ... 215–1 –32768 ... 32767
–231 ... 231–1 –2147483648 ... 2147483647

 

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

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

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

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

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

1. Прямой код. В знаковый разряд помещается цифра 1, а в разряды цифровой части числа — двоичный код его абсолютной величины. Например: -538 =101010112.

2. Обратный код. Получается инвертированием всех цифр двоичного кода абсолютной величины числа, включая разряд знака: нули заменяются единицами, а единицы — нулями. Например: -538 = 010101002.

3. Дополнительный код. Получается образованием обратного кода с последующим прибавлением единицы к его младшему разряду.

Например: -538 =

010101002

+ 000000012

¾¾¾¾¾¾

= 010101012

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.