Примеры выполнения заданий. 1. Представьте D10 ®D2 , D8 , D16 целое число 2410 . 2410 = 110002 2410= 308 2410 = 1816

1. Представьте D10 ®D2 , D8 , D16 целое число 2410 .

2410 = 110002   2410= 308   2410 = 1816

2. Представьте D10 ®D2 , D8 , D16 целое число 2710 методом разложения по степеням.

2710 = 16 + 8 + 2+1 =1× 24 + 1 × 23 + 1 × 21 +1 × 20 = 110112

2710 = 24 + 3 = 3 × 81 + 3 × 80 =338

2710 = 16 + 11 = 1 × 161 + 11 × 160 = 1В16

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

10 – А, 11 – В, 12 – С, 13 – D, 14 – E, 15 – F.

3. Представьте D10 ®D2 , D8 , D16 дробное число 19,210

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

1910 = 16 + 2 + 1 = 1×24 + 1×21 + 1 ×20 = 100112

1910 = 16 + 3 = 2 × 81 + 3 × 80 = 238

1910 = 16 + 3 = 1× 161+3 × 160 = 1316

 

0, 2 ´ 2 =   0, 4 ´ 2 =   0, 8 ´ 2 =   1, 6 ´ 2 =
 
 


1, 2 ´ 2 =

 
 


0, 4 ´ 2 =

19,210=10011,(0011)2

0, 2 ´ 8 =   1, 6 ´ 8 =   4, 8 ´ 8 = 6, 4 ´ 8 =   3, 2 ´ 8 =   1, 6 ´ 8 = 19,210= 23,(1463)8 0, 2 ´ 16 =   3, 2 ´ 16 =   3, 2 ´ 16 =  
   
 
 
 
 
 

 


19,210 = 13,(3)16

Специальные приемы перевода

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

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

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

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

 

Таблица 1. Десятичные и двоичные эквиваленты

 

Десятичный эквивалент Двоичные эквиваленты
D8 - D2 D16 -D2
0 - 000 0 - 0000
1 - 001 1 - 0001
2 - 010 2 - 0010
3 - 011 3 - 0011
4 - 100 4 - 0100
5 - 101 5 - 0101
6 - 110 6 - 0110
7 - 111 7 - 0111
  8 - 1000
  9 - 1001
  A - 1010
  B - 1011
  C - 1100
  D - 1101
  E - 1110
  F - 1111

 

Примеры выполнения заданий

1. Переведите D2 ®D8, D16 число:

 

2. Переведите D8 ®D2, D16 число:

3. Переведите D16 ®D2 число:

 

Задания для самостоятельного выполнения

1. Получите дробное число и переведите его D10 ®D2 , D8 и D16

0)<ГГ>, < ММ >= 1)<ГГ>, < ДД >= 2)<ММ>, < ДД>= 3)<ГГ>,< ГГ >= 4)<ММ>,<ММ>= 5)< ММ >, <ГГ>= 6)< ДД >, < ДД>= 7)< ДД >, <ГГ>= 8)< ДД >, < ММ>= 9)<ГГ>,< ДД >=

2. Представьте целое число D10 ®D2 , D8 ,D16 методом разложения по степеням:

0)7910 1)8310 2)8110 3)5310 4)4810 5)6810 6)5710 7)4210 8)3310 9)7210

 
 

 


3.Переведите числаD2 , D8 , D16®D10

0) a)1001,0012 = b) 301,218 = с) А19,316= 1) a) 1000,0112 = b) 410,328 = с) 0,В13616= 2) a) 1101,1012 = b) 511,128 = с) 1С2,05316= 3) a) 1011,0112 = b) 670,038 = с) Е51,30416= 4) a) 1111,0012 = b) 716,218 = с) А42,35116= 5) a) 1001,1012 = b) 307,358 = с) 123,F316= 6) a) 1011,0112 = b) 551,078 = с) 2C4,11316= 7) a) 1101,1112 = b) 360,238 = с) D13,7216= 8) a) 1111,1012 = b) 211,148 = с) 1F12,0616= 9) a) 1001,1112 = b) 402,338 = с) 1B5,01116=

5. Переведите D8 ®D2:

0)124,778=

 

1)–234,568=

 

2)–456,078=

 

3)345,678=

 

4)377,768=

 

5)–560,778=

 

6)–656,128=

 

7)207,718=

 

8)–340,558=

 

9)431,238=

6. Переведите D16 ®D2

0)-А,1203416=

 

1)1234,АВ16=

 

2)СЕ45,6716=

 

3)–0,1234АА16=

 

4)АВ77,1216=

 

5)67СЕ,4516=

 

6)–0,АВ152116=

 

7)Д7,34СВ16=

 

8)–134,В1716=

 

9)1С3,3В116=

7. Сравните и поставьте знак: <,> или =

0) a)2758 В2016; b) 2013 5E416;

1) a)1А216 7618; b) 2647 110112;

2) a)6108 1100112; b) 10616 3226;

3) a) F4616 6578; b) 1279 4D616;

4) a) 1178 A516; b) 3768 3456;

5) a)5238 1101102; b) 30116 2103;

6) a) 4338 1001012; b) 4617 11F16

7) a) 5638 BA16; b) CE16 3024;

8) a)2F116 4418; b) 6009 2548;

9) a)4648 3C516; b) 12A16 2557.

 
 

 

 


Практическое занятие №5. Представление чисел в памяти ПК.

Представление целых чисел

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

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

Целые числа типа Integer лежат в диапазоне от –32768 (–215) до 32767 (215 – 1) и для их хранения отводится 2 байта. Длинное целое типа LongInt лежит в диапазоне от –231 до 231 – 1 и размещается в 4 байтах. Короткое целое типа ShortInteger лежит в диапазоне от –27 до 27 – 1 и размещается в 1 байте и т.д.

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

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

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

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

2) инвертировать его (заменить 1 - нулями, нули - 1);

3) прибавить к инверсному коду единицу.

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

1) вычесть из кода числа 1;

2) инвертировать код;

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