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

Практикум

Для студентов 1 курса экономического факультета КГУ

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

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

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

Практикум 1 семестра поддерживает и подкрепляет теоретический материал в основном всех тем курса, кроме раздела «информационные системы». Во втором семестре предполагается выполнить два комплексных проекта в среде Excel и Access.

План-график контролирующих мероприятий

Тема Вид контроля Балл Вес Сроки
1 семестр        
Информация, ее виды и свойства. Системы счисления Лаб.р.1      
Измерение и кодирование информации. Лаб.р.2 Лаб.р.3      
         
Программное обеспечение и информационные технологии Задание 1 Word, PowerPoint, HTML Промежуточный контроль      
Введение в Электронные таблицы Лаб.      
Базы данных Лаб.      
         
часть        
         
Архитектура ЭВМ, конечные автоматы. Машина Поста Лаб.р.4 Лаб.р.5    
Алгоритмизация и программирование. Задание 3 Алгоритмы и программы   Промежуточный контроль      
Компьютерное моделирование Лаб.6      
Системы управления базами данных. Информационные системы. Задание 4 ACCESS Контрольная работа    
Экзамен Экзамен (ТЕСТ)    
         
  Итого    


Содержание лабораторных и практических работ

Семестр

Задание 1

1. Подготовить буклет КГУ.

2. Оформить выполнение лабораторных работ 1 и 2 с помощью Word.

3. Оформить Web-сайт (с помощью HTML) результатов выполнения лабораторных работ 3 и 4.

Перевод чисел из одной позиционной системы счисления в другую. Арифметические операции - student2.ru Лабораторная работа 1 (системы счисления)

4. Подготовить презентацию результатов лабораторной работы 5 с помощью

PowerPoint

Время выполнения — 4 часа (+ 4 сам. работа)

Краткие сведения

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

При переводе чисел из десятичной системы счисления в систему с основанием P > 1 обычно используют следующий алгоритм:

1) если переводится целая часть числа, то она делится на P, после чего запоминается остаток от деления. Полученное частное вновь делится на P, остаток запоминается. Процедура продолжается до тех пор, пока частное не станет равным нулю. Остатки от деления на P выписываются в порядке, обратном их получению;

2) если переводится дробная часть числа, то она умножается на P, после чего целая часть запоминается и отбрасывается. Вновь полученная дробная часть умножается на P и т.д. Процедура продолжается до тех пор, пока дробная часть не станет равной нулю. Целые части выписываются после двоичной запятой в порядке их получения. Результатом может быть либо конечная, либо периодическая двоичная дробь. Поэтому, когда дробь является периодической, приходится обрывать умножение на каком-либо шаге и довольствоваться приближенной записью исходного числа в системе с основанием P.

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

а) 464(10); б) 380,1875(10); в) 115,94(10)

Решение

а) 464   б) 380     в) 115  
   
   
   
   
       
       
               
               

а) 464(10)=111010000(2); б) 380,1875(10) = 101111100,0011(2); в) 115,94(10) » 1110011,11110(2)

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

Если необходимо перевести число из двоичной системы счисления в систему счисления, основанием которой является степень двойки, достаточно объединить цифры двоичного числа в группы по столько цифр, каков показатель степени, и использовать приведенный ниже алгоритм. Например, если перевод осуществляется в восьмеричную систему, то группы будут содержать три цифры (8 = 23). В целой части числа группировка производится справа налево, в дробной части — слева направо. Если в последней группе недостает цифр, дописываются нули: в целой части — слева, в дробной — справа. Затем каждая группа заменяется соответствующей цифрой новой системы. Соответствия приведены в таблице.

P Соответствия
 
 
 
               
A B C D E F

Переведем из двоичной системы в шестнадцатеричную число 1111010101,11(2).

001111010101,1100(2) = 3D5,C(16).

При переводе чисел из системы счисления с основанием P в десятичную систему счисления необходимо пронумеровать разряды целой части справа налево, начиная с нулевого, и дробной части, начиная с разряда сразу после запятой, слева направо (начальный номер –1). Затем вычислить сумму произведений соответствующих значений разрядов на основание системы счисления в степени, равной номеру разряда. Это и есть представление исходного числа в десятичной системе счисления.

Пример 2. Перевести данное число в десятичную систему счисления:

а) 1000001(2).

1000001(2) = 1 × 26 + 0 × 25 + 0 × 24 + 0 × 23 + 0 × 22 + 0 × 21 + 1 × 20 = 64 + 1 = 65(10).

Замечание. Если в каком-либо разряде стоит нуль, то соответствующее слагаемое можно опускать.

б) 1000011111,0101(2).

1000011111,0101(2) = 1 × 29 + 1 × 24 + 1 × 23 + 1 × 22 + 1 × 21 + 1 × 20 + 1 × 2–2 + 1 × 2–4 =

= 512 + 16 + 8 + 4 + 2 + 1 + 0,25 + 0,0625 = 543,3125(10).

в) 1216,04(8).

1216,04(8) = 1 × 83 + 2 × 82 + 1 × 81 + 6 × 80 + 4 × 8–2 = 512 + 128 + 8 + 6 + 0,0625 = 654,0625(10).

г) 29A,5(16).

29A,5(16) = 2 × 162 + 9 × 161 + 10 × 160 + 5 × 16–1 = 512 + 144 + 10 + 0,3125 = 656,3125(10).

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

+   ´
 
 
+
´
+ A B C D E F
A B C D E F
A B C D E F
A B C D E F
A B C D E F
A B C D E F
A B C D E F
A B C D E F
A B C D E F
A B C D E F
A B C D E F
A A B C D E F
B B C D E F 1A
C C D E F 1A 1B
D D E F 1A 1B 1C
E E F 1A 1B 1C 1D
F F 1A 1B 1C 1D 1E
´ A B C D E F
A B C D E F
A C E 1A 1C 1E
C F 1B 1E 2A 2D
C 1C 2C 3C
A F 1E 2D 3C 4B
C 1E 2A 3C 4E 5A
E 1C 2A 3F 4D 5B
1B 2D 3F 5A 6C 7E
A A 1E 3C 5A 6E 8C
B B 2C 4D 6E 8F 9A A5
C C 3C 6C 9C A8 B4
D D 1A 4E 5B 8F 9C A9 B6 C3
E E 1C 2A 7E 8C 9A A8 B6 C4 D2
F F 1E 2D 3C 4B 5A A5 B4 C3 D2 E1

Пример 3. Сложить числа:

а) 10000000100(2) + 111000010(2) = 10111000110(2); б) 223,2(8) + 427,54(8) = 652,74(8); в) 3B3,6(16) + 38B,4(16) = 73E,A(16).

        ,         B ,
+                           +                 +          
            ,       B ,
        ,       E , A

Пример 4. Выполнить вычитание:

а) 1100000011,011(2) – 101010111,1(2) = 110101011,111(2);

б) 1510,2(8) – 1230,54(8) = 257,44(8);

в) 27D,D8(16) – 191,2(16) = EC,B8(16).

  ,       ,         D , D
                                                             
    ,                   ,  
    ,         ,         E C , B

Пример 5. Выполнить умножение:

а) 100111(2) ´ 1000111(2) = 101011010001(2);

б) 1170,64(8) ´ 46,3(8) = 57334,134(8);

в) 61,A(16) ´ 40,D(16) = 18B7,52(16).

                    ,6             1, A
´                           ´                   ´            
                        ,3             0, D
                              F
+                           +                   +            
                             
                          B ,5
                ,1                  
                                     

Задания к лабораторной работе

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

2. Перевести данное число в десятичную систему счисления.

3. Сложить числа.

4. Выполнить вычитание.

5. Выполнить умножение.

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

Вариант 1

1. а) 860(10); б) 785(10); в) 149,375(10); г) 953,25(10); д) 228,79(10).

2. а) 1001010(2); б) 1100111(2); в) 110101101,00011(2); г) 111111100,0001(2); д) 775,11(8); е) 294,3(16).

3. а) 1101100000(2) + 10110110(2); б) 101110111(2) + 1000100001(2); в) 1001000111,01(2)+100001101,101(2); г) 271,34(8)+1566,2(8); д) 65,2(16)+3CA,8(16).

4. а) 1011001001(2) – 1000111011(2); б) 1110000110(2) – 101111101(2); в) 101010000,10111(2) – 11001100,01(2); г) 731,6(8) – 622,6(8); д) 22D,1(16) – 123,8(16).

5. а) 1011001(2) ´ 1011011(2); б) 723,1(8) ´ 50,2(8); в) 69,4(16) ´ A,B(16).

Вариант 2

1. а) 250(10); б) 757(10); в) 711,25(10); г) 914,625(10); д) 261,78(10).

2. а) 1111000(2); б) 1111000000(2); в) 111101100,01101(2); г) 100111100,1101(2); д) 1233,5(8); е) 2B3,F4(16).

3. а) 1010101(2)+10000101(2); б) 1111011101(2)+101101000(2); в) 100100111,001(2)+100111010,101(2); г) 607,54(8)+1620,2(8); д) 3BF,A(16)+313,A(16).

4. а) 1001000011(2) – 10110111(2); б) 111011100(2) – 10010100(2); в) 1100110110,0011(2) – 11111110,01(2); г) 1360,14(8) – 1216,4(8); д) 33B,6(16) – 11B,4(16).

5. а) 11001(2) ´ 1011100(2); б) 451,2(8) ´ 5,24(8); в) 2B,A(16) ´ 36,6(16).

Вариант 3

1. а) 759(10); б) 265(10); в) 79,4375(10); г) 360,25(10); д) 240,25(10).

2. а) 1001101(2); б) 10001000(2); в) 100111001,01(2); г) 1111010000,001(2); д) 1461,15(8); е) 9D,A(16).

3. а) 100101011(2)+111010011(2); б) 1001101110(2)+1101100111(2); в) 1010000100,1(2)+11011110,001(2); г) 674,34(8)+1205,2(8); д) 2FE,6(16)+3B,4(16).

4. а) 1100110010(2) – 1001101101(2); б) 1110001100(2) – 10001111(2); в) 11001010,01(2) – 1110001,001(2); г) 641,6(8) – 273,04(8); д) 3CE,B8(16) – 39A,B8(16).

5. а) 1010101(2) ´ 1011001(2); б) 1702,2(8) ´ 64,2(8); в) 7,4(16) ´ 1D,4(16).

Вариант 4

1. а) 216(10); б) 336(10); в) 741,125(10); г) 712,375(10); д) 184,14(10).

2. а) 1100000110(2); б) 1100010(2); в) 1011010,001(2); г) 1010100010,001(2); д) 1537,22(8); е) 2D9,8(16).

3. а) 101111111(2)+1101110011(2); б) 10111110(2)+100011100(2); в) 1101100011,0111(2)+1100011,01(2); г) 666,2(8)+1234,24(8); д) 346,4(16)+3F2,6(16).

4. а) 1010101101(2) – 110011110(2); б) 1010001111(2) – 1001001110(2); в) 1111100100,11011(2) ‑ 101110111,011(2); г) 1437,24(8) – 473,4(8); д) 24A,4(16) – B3,8(16).

5. а) 101011(2) ´ 100111(2); б) 1732,4(8) ´ 34,5(8); в) 36,4(16) ´ A,A(16).

Вариант 5

1. а) 530(10); б) 265(10); в) 597,25(10); г) 300,375(10); д) 75,57(10).

2. а) 101000111(2); б) 110001001(2); в) 1001101010,01(2); г) 1011110100,01(2); д) 1317,75(8); е) 2F4,0C(16).

3. а) 1100011010(2)+11101100(2); б) 10111010(2)+1010110100(2); в) 1000110111,011(2)+1110001111,001(2); г) 1745,5(8)+1473,2(8); д) 24D,5(16)+141,4(16).

4. а) 1100101010(2) – 110110010(2); б) 110110100(2) – 110010100(2); в) 1101111111,1(2) – 1100111110,1011(2); г) 1431,26(8) – 1040,3(8); д) 22C,6(16) – 54,2(16).

5. а) 1001001(2) ´ 11001(2); б) 245,04(8) ´ 112,2(8); в) 4B,2(16) ´ 3C,3(16).

Вариант 6

1. а) 945(10); б) 85(10); в) 444,125(10); г) 989,375(10); д) 237,73(10).

2. а) 110001111(2); б) 111010001(2); в) 100110101,1001(2); г) 1000010,01011(2); д) 176,5(8); е) 3D2,04(16).

3. а) 1000011101(2)+101000010(2); б) 100000001(2)+1000101001(2); в) 101111011,01(2)+1000100,101(2); г) 1532,14(8)+730,16(8); д) BB,4(16)+2F0,6(16).

4. а) 1000101110(2) – 1111111(2); б) 1011101000(2) – 1001000000(2); в) 1000101001,1(2) – 1111101,1(2); г) 1265,2(8) – 610,2(8); д) 409,D(16) – 270,4(16).

5. а) 111010(2) ´ 1100000(2); б) 1005,5(8) ´ 63,3(8); в) 4A,3(16) ´ F,6(16).

Вариант 7

1. а) 287(10); б) 220(10); в) 332,1875(10); г) 652,625(10); д) 315,21(10).

2. а) 10101000(2); б) 1101100(2); в) 10000010000,01001(2); г) 1110010100,001(2); д) 1714,2(8); е) DD,3(16).

3. а) 1100110(2)+1011000110(2); б) 1000110(2)+1001101111(2); в) 101001100,101(2)+1001001100,01(2); г) 275,2(8)+724,2(8); д) 165,6(16)+3E,B(16).

4. а) 1011111111(2) – 100000011(2); б) 1110001110(2) – 100001011(2); в) 110010100,01(2) – 1001110,1011(2); г) 1330,2(8) – 1112,2(8); д) AB,2(16) – 3E,2(16).

5. а) 110000(2) ´ 1101100(2); б) 1560,2(8) ´ 101,2(8); в) 6,3(16) ´ 53,A(16).

Вариант 8

1. а) 485(10); б) 970(10); в) 426,375(10); г) 725,625(10); д) 169,93(10).

2. а) 10101000(2); б) 101111110(2); в) 1010101,101(2); г) 1111001110,01(2); д) 721,2(8); е) 3C9,8(16).

3. а) 1010100111(2)+11000000(2); б) 1110010010(2)+110010111(2); в) 1111111,101(2)+101010101,101(2); г) 1213,44(8)+166,64(8); д) 41,4(16)+3CF,D(16).

4. а) 1010000000(2) – 1000101010(2); б) 1011010101(2) – 110011001(2); в) 1001001010,11011(2) – 1000111000,01(2); г) 1145,2(8) – 1077,5(8); д) 380,1(16) – 2DC,3(16).

5. а) 111011(2) ´ 100000(2); б) 511,2(8) ´ 132,4(8); в) 68,4(16) ´ 37,8(16).

Вариант 9

1. а) 639(10); б) 485(10); в) 581,25(10); г) 673,5(10); д) 296,33(10).

2. а) 1011000011(2); б) 100010111(2); в) 1100101101,1(2); г) 1000000000,01(2); д) 1046,4(8); е) 388,64(16).

3. а) 1000010100(2) + 1101010101(2); б) 1011001010(2)+101011010(2); в) 1110111000,101(2)+1101100011,101(2); г) 1430,2(8)+666,3(8); д) 388,3(16)+209,4(16).

4. а) 1111100010(2) – 101011101(2); б) 1011000100(2) – 1000100000(2); в) 1101111000,1001(2) – 1000000,01(2); г) 1040,2(8) – 533,2(8); д) 3FB,4(16) – 140,6(16).

5. а) 11111(2) ´ 10001(2); б) 1237,3(8) ´ 117,5(8); в) 66,4(16) ´ 65,8(16).

Вариант 10

1. а) 618(10); б) 556(10); в) 129,25(10); г) 928,25(10); д) 155,45(10).

2. а) 1111011011(2); б) 1011101101(2); в) 1001110110,011(2); г) 1011110011,10111(2); д) 675,2(8); е) 94,4(16).

3. а) 11111010(2)+10000001011(2); б) 1011010(2)+1001111001(2); в) 10110110,01(2)+1001001011,01(2); г) 1706,34(8)+650,3(8); д) 180,4(16)+3A6,28(16).

4. а) 111101101(2) – 101111010(2); б) 1000110100(2) – 100100111(2); в) 1111111011,01(2) – 100000100,011(2); г) 1300,44(8) – 1045,34(8); д) 16A,8(16) – 147,6(16).

5. а) 100111(2) ´ 110101(2); б) 1542,2(8) ´ 50,6(8); в) A,8(16) ´ E,2(16).

Вариант 11

1. а) 772(10); б) 71(10); в) 284,375(10); г) 876,5(10); д) 281,86(10).

2. а) 1000001111(2); б) 1010000110(2); в) 101100110,011011(2); г) 100100110,101011(2); д) 1022,2(8); е) 53,9(16).

3. а) 1100111(2)+1010111000(2); б) 1101111010(2)+1000111100(2); в) 1111101110,01(2)+1110001,011(2); г) 153,3(8)+1347,2(8); д) E0,2(16)+1E0,4(16).

4. а) 1010101110(2) – 11101001(2); б) 1000100010(2) – 110101110(2); в) 1010100011,011(2) – 1000001010,0001(2); г) 1517,64(8) – 1500,3(8); д) 367,6(16) – 4A,C(16).

5. а) 1100110(2) ´ 101111(2); б) 1272,3(8) ´ 23,14(8); в) 48,4(16) ´ 5,A(16).

Вариант 12

1. а) 233(10); б) 243(10); в) 830,375(10); г) 212,5(10); д) 58,89(10).

2. а) 1001101111(2); б) 1000001110(2); в) 111110011,011(2); г) 11010101,1001(2); д) 1634,5(8); е) C2,3(16).

3. а) 1101111001(2)+1010010101(2); б) 1111001001(2)+1001100100(2); в) 100110010,011(2)+110001000,011(2); г) 1712,14(8)+710,4(8); д) E6,1(16)+38C,8(16).

4. а) 1000001110(2) – 100100001(2); б) 1101000110(2) – 1001101000(2); в) 1011001111,01(2) – 110100010,01(2); г) 1734,4(8) – 134,2(8); д) 2F2,A(16) – 22D,A(16).

5. а) 1000000(2) ´ 100101(2); б) 103,2(8) ´ 147,04(8); в) 67,4(16) ´ 54,8(16).

Вариант 13

1. а) 218(10); б) 767(10); в) 894,5(10); г) 667,125(10); д) 3,67(10).

2. а) 1111100010(2); б) 1000011110(2); в) 101100001,011101(2); г) 1001111001,1(2); д) 1071,54(8); е) 18B,0C(16).

3. а) 1000011111(2)+1111100(2); б) 1011100011(2)+111110110(2); в) 111111100,1(2)+1011100100,1(2); г) 1777,2(8)+444,1(8); д) 3EF,3(16)+C7,4(16).

4. а) 1101000100(2) – 101010101(2); б) 1110010111(2) – 1011100(2); в) 1100101111,01(2) – 10010001,01(2); г) 640,2(8) – 150,22(8); д) 380,68(16) – 50,4(16).

5. а) 100010(2) ´ 1100110(2); б) 741,4(8) ´ 141,64(8); в) B,7(16) ´ D,C(16).

Вариант 14

1. а) 898(10); б) 751(10); в) 327,375(10); г) 256,625(10); д) 184,4(10).

2. а) 101110100(2); б) 1111101101(2); в) 1110100001,01(2); г) 1011111010,0001(2); д) 744,12(8); е) 1EE,C(16).

3. а) 1001000000(2)+101010110(2); б) 11000010(2)+1001110100(2); в) 1011101110,1(2)+11100101,01(2); г) 2015,1(8)+727,54(8); д) 9D,8(16)+ED,8(16).

4. а) 1010000100(2) – 1000001000(2); б) 1111110011(2) – 1001101001(2); в) 101001100,101(2) – 100100101,1(2); г) 1024,6(8) – 375,14(8); д) 3E9,4(16) – 72,6(16).

5. а) 1001010(2) ´ 1001000(2); б) 747,2(8) ´ 64,14(8); в) 56,1(16) ´ 33,C(16).

Вариант 15

1. а) 557(10); б) 730(10); в) 494,25(10); г) 737,625(10); д) 165,37(10).

2. а) 101001101(2); б) 1110111100(2); в) 10000001000,001(2); г) 1000110110,11011(2); д) 147,56(8); е) 1CA,3(16).

3. а) 1101100001(2)+1001101110(2); б) 1101010101(2)+101011001(2); в) 1101111110,011(2)+1100101101,1011(2); г) 1771,2(8)+300,5(8); д) 2F2,8(16)+E4,B(16).

4. а) 1111000000(2) – 111101000(2); б) 1100110111(2) – 1001110000(2); в) 1000011110,1001(2) – 110000111,01(2); г) 1436,34(8) – 145,2(8); д) 3F5,98(16) – 240,3(16).

5. а) 1011100(2) ´ 101000(2); б) 1300,6(8) ´ 65,2(8); в) 68,A(16) ´ 9,6(16).

Вариант 16

1. а) 737(10); б) 92(10); в) 934,25(10); г) 413,5625(10); д) 100,94(10).

2. а) 1110000010(2); б) 1000100(2); в) 110000100,001(2); г) 1001011111,00011(2); д) 665,42(8); е) 246,18(16).

3. а) 11110100(2)+110100001(2); б) 1101110(2)+101001000(2); в) 1100110011,1(2)+111000011,101(2); г) 1455,04(8)+203,3(8); д) 14E,8(16)+184,3(16).

4. а) 1000010101(2) – 100101000(2); б) 1001011011(2) – 101001110(2); в) 111111011,101(2) – 100000010,01(2); г) 341,2(8) – 275,2(8); д) 249,5(16) – EE,A(16).

5. а) 1001000(2) ´ 1010011(2); б) 412,5(8) ´ 13,1(8); в) 3B,A(16) ´ 10,4(16).

Перевод чисел из одной позиционной системы счисления в другую. Арифметические операции - student2.ru Лабораторная работа 2 (представление данных в памяти ЭВМ)

Время выполнения — 4 часа (+4).

Краткие сведения

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

Элементарная ячейка памяти ЭВМ имеет длину 8 бит (байт). Каждый байт имеет свой номер (его называют адресом). Наибольшую последовательность бит, которую ЭВМ может обрабатывать как единое целое, называют машинным словом. Длина машинного слова зависит от разрядности процессора и может быть равной 16, 32 битам и т.д.

Для кодирования символов достаточно одного байта. При этом можно представить 256 символов (с десятичными кодами от 0 до 255). Набор символов персональных ЭВМ IBM PC чаще всего является расширением кода ASCII (American Standard Code for Information Interchange — стандартный американский код для обмена информацией).

В некоторых случаях при представлении в памяти ЭВМ чисел используется смешанная двоично-десятичная «система счисления», где для хранения каждого десятичного знака нужен полубайт (4 бита) и десятичные цифры от 0 до 9 представляются соответствующими двоичными числами от 0000 до 1001. Например, упакованный десятичный формат, предназначенный для хранения целых чисел с 18-ю значащими цифрами и занимающий в памяти 10 байт (старший из которых знаковый), использует именно этот вариант.

Другой способ представления целых чисел — дополнительный код. Диапазон значений величин зависит от количества бит памяти, отведенных для их хранения. Например, величины типа Integer (все названия типов данных здесь и ниже представлены в том виде, в каком они приняты в языке программирования Turbo Pascal. В других языках такие типы данных тоже есть, но могут иметь другие названия) лежат в диапазоне от –32768 (–215) до 32767 (215 – 1) и для их хранения отводится 2 байта; типа LongInt — в диапазоне от –231 до 231 – 1 и размещаются в 4 байтах; типа Word — в диапазоне от 0 до 65535 (216 – 1) (используется 2 байта) и т.д.

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

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

                               

Дополнительный код положительного числа совпадает с его прямым кодом. Прямой код целого числа может быть получен следующим образом: число переводится в двоичную систему счисления, а затем его двоичную запись слева дополняют таким количеством незначащих нулей, сколько требует тип данных, к которому принадлежит число. Например, если число 37(10) = 100101(2) объявлено величиной типа Integer, то его прямым кодом будет 0000000000100101, а если величиной типа LongInt, то его прямой код будет 00000000000000000000000000100101. Для более компактной записи чаще используют шестнадцатеричный код. Полученные коды можно переписать соответственно как 0025(16) и 00000025(16).

Дополнительный код целого отрицательного числа может быть получен по следующему алгоритму:

1) записать прямой код модуля числа;

2) инвертировать его (заменить единицы нулями, нули — единицами);

Наши рекомендации