Теоретическое обоснование. Лабораторная работа 3. Представление чисел

Лабораторная работа 3. Представление чисел

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

Теоретическое обоснование

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

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

В любой системе счисления выбирается алфавит, представляющий собой совокупность некоторых символов (цифр или знаков), с помощью которого можно представить любое число. Если алфавит состоит из двух цифр 0 и 1, то система двоичная. В десятичной системе алфавит состоит из десяти цифр: 0, 1, 2, 3, …, 9. В восьмеричной - из восьми: 0, 1, 2, 3, …,7. В шестнадцатеричной - используется десять цифр 0, 1, 2, 3, …, 9 и буквы латинского алфавита A (обозначает цифру 10), B (11), C(12), D(13), E(14), F(15). Количество используемых цифр называется основанием позиционной системы счисления. Место для цифры в числе называется разрядом, а количество цифр в числе - разрядностью числа. Крайняя слева цифра называется цифрой старшего разряда, а крайняя справа - младшего разряда.

Алгоритм перевода из 10-й системы в Р-ю (Р-целое, положительное число):

1) Целая и дробная части числа переводятся отдельно.

2) Целая часть числа последовательно делится нацело на величину Р и остатки от деления записываются, начиная с последнего как результат.

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

Пример 1. Перевести число Х=165,410 в 2-ю, 8-ю, 16-ю системы счисления.

Перевод целой и дробной части Х в 2-ю систему счисления:

                                     
-164             * 0,4 * 0,8 * 0,6 * 0,2 * 0,4 * 0,8
  -82                                  
                0,8   1,6   1,2   0,4   0,8   1,6
      -20                              
        -10                            
          -4                          
            -2                        
                                     

Число Х в 2-ной системе счисления: Х= 165,410 =10100101,0110012

Аналогично выполняется перевод в 8-ю и 16-ю системы.

       
-160      
  -16    
       
* 0,4 * 0,2 * 0,6 * 0,8 * 0,4 * 0,2
           
  3,2   1,6   4,8   6,4   3,2   1,6

Число Х в 8-ной системе счисления: Х = 165,410 = 245,3146318

            * 0,4 * 0,4
-160   это А        
              6,4   6,6

Число Х в 16-ной системе счисления: Х = 165,410 = А5,666…16=А5,(6)16

Перевод из Р-й системы в 10-ю (Р - целое, положительное число):

Любое число Х в позиционной системе счисления P можно представить в виде ряда:

где ХР – запись числа в системе счисления с основанием Р; хi - целое положительное число, меньше Р; n – число разрядов в целой части числа;

m – число разрядов в дробной части числа.

Такая схема называется схемой Горнера.

Алгоритм перевода из Р-й системы в 10-ю:

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

2) Каждая цифра числа хi умножается на основание системы Р в степени номера разряда, результаты складываются.

Пример 2. Полученныев примере 1 числа перевести в 10-ю систему.

Для проверки полученного результата обратным переводом нужно воспользоваться схемой Горнера. Перевод из 2-й в 10-ю систему:

              1,           12 =1*27 + 0*26+ 1*25 + 0*24 + 0*23 +
                -1 -2 -3 -4 -5 -6  
+1*22 +0*21 + 1*20 +0*2-1 +1*2-2 +1*2-3 +0*2-4 +0*2-5+1*2-6≈165,410

Из 8-й системы в 10-ю:

    5,           12 =2*82 + 4*81 +5*80+3*8-1 +1*8-2 +4*8-3+
      -1 -2 -3 -4 -5 -6 +6*8-4 +3*8-5+1*8-6≈165,410

Из 16-й системы в 10-ю:

А 5, 62         62 =10*161 +5*160+6*16-1 +6*16-2 +6*8-3+
    -1 -2 -3 -4 -5 -6 +6*8-4 +6*8-5+6*8-6≈165,410

Задания:

1) Переведите числа 101,8 и 200,6 в 2-ю, 8-ю, 16-ю системы с точностью до 3-х знаков после запятой. Полученные результаты переведите в 10-ю систему.

2) Среди чисел 100011002, 2218, 9616 сколько меньше десятичного числа 13510 ?


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: