Системы счисления
план-конспект урока информатики и икт (10 класс) по теме

Перчиц Станислав Николаевич

Конспект по системам счисления

Скачать:

ВложениеРазмер
Microsoft Office document icon sistemy_schisleniya.doc83.5 КБ

Предварительный просмотр:

СИСТЕМЫ СЧИСЛЕНИЯ

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

Пример записи числа в десятичной позиционной системе счисления:

 4  3  2  1  0   -1 -2 -3

38438.34510 = 3×104 + 8×103 +4×102 +3×101+8×100 +3×10-1 +4×10-2 +5×10-3

Справочная таблица

10                     2                        16                                                                        x                    2x

0        0000        0        0                    1

1        0001        1        1                    2

2        0010        2        2                    4

3        0011        3        3                    8

4        0100        4        4                  16

5        0101        5        5                  32

6        0110        6        6                  64

7        0111        7        7                128

8        1000        8        8                256

9        1001        9        9                512

10        1010        A        10              1024

11        1011        B        11              2048

12        1100        C        12              4096

13        1101        D        13              8192

14        1110        E        14            16384

15        1111        F        15            32768

16        10000        10        16            65536

17        10001        11        17          131072

18        10010        12        18          262144

19        10011        13        19          524288

20        10100        14        20        1048576

21        10101        15        21        2097152

22        10110        16        22        4194304

23        10111        17        23        8388608

24        11000        18        24      16777216

25        11001        19        25      33554432

26        11010        1A        26      67108864

27        11011        1B        27    134217728

28        11100        1C        28    268435456

29        11101        1D        29    536870912

30        11110        1E        30  1073741824

31        11111        1F        31  2147483648

32        100000        20        32  4294967296

Задачи

C = 45 ¸ 60;  N – номер варианта (у каждого ученика свой)

  1. Число 3 ´ (N + C) + 1 перевести из десятичной формы записи в двоичную.
  2. Полученное в двоичном виде число перевести в шестнадцатеричную форму записи.
  3. Полученное шестнадцатеричное число перевести в десятичную форму записи.
  4. К числу в шестнадцатеричном виде прибавить 3F16, затем последовательно перевести в двоичную и в десятичную форму записи.

Примеры решения задач

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

438  2

  0   219  2

         1    109  2

                 1    54  2

                        0   27  2

                              1    13  2

                                     1     6  2

                                            0    3  2

                                                  1    1

43810 = 1 1011 01102

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

8     7  6  5  4    3  2  1  0

1 1011 01102 = 1×28 + 1×27 + 0×26 + 1×25 + 1×24 + 0×23 + 1×22 + 1×21 + 0×20 =

                      = 28 + 27 + 25 + 24 + 22 + 21 = 256 + 128 + 32 + 16 + 4 + 2 = 43810

2. Полученное в двоичном виде число перевести в шестнадцатеричную форму записи.

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

1 1011 01102 = 1B616

3. Полученное шестнадцатеричное число перевести в десятичную форму записи.

 2   1   0

1B616 = 1×162 + 11×161 + 6×160 = 256 + 176 + 6 = 43810

4. К числу в шестнадцатеричном виде прибавить 3F16, затем последовательно перевести в двоичную и в десятичную форму записи.

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

                            8    7  6  5  4     3  2  1  0

1F516 = 1 1111 01012 = 28 + 27 + 26 + 25 + 24 + 22 + 20 =

                                   = 256 + 128 + 64 + 32 + 16 + 4 + 1 = 50110

Для сравнения, переведём из шестнадцатеричной системы в десятеричную:

2   1   0

1F516 = 1×162 + 15×161 + 5×160 = 256 + 240 + 5 = 50110


'*************************************************************************

'*  k0_1_x10.bas            Программа преобразования из заданной формы   *

'*  ------------            представления числа в десятичную             *

'*                                                                       *

'*   Август 1995 г.                                 Автор: Перчиц С.Н.   *

'*************************************************************************

'

 INPUT "Из какой системы счисления преобразовывать?  m = "; m

 INPUT "N = "; sn$

 l = LEN(sn$)

 n = 0

 FOR I = 1 TO l

    s$ = MID$(sn$, I, 1)

    ks = ASC(s$)

    IF ks < 65 THEN dn = VAL(s$) ELSE dn = ks - 55

    n = n * m + dn

 NEXT I

 PRINT

 PRINT sn$; " = "; n

 PRINT

 END

'*************************************************************************

'*  K0_1_DX.BAS             Программа преобразования из 10-чной формы    *

'*  -----------             представления числа в требуемую              *

'*                                                                       *

'*   Апрель 2011 г.                                 Автор: Перчиц С.Н.   *

'*************************************************************************

'

Enter$ = CHR$(13)

kd0 = ASC("0")

kdb = ASC("A") - 10

PRINT Enter$

INPUT "В какую систему счисления преобразовывать?  m = "; m

DO

   PRINT Enter$

   INPUT "N = "; n1

   PRINT n1; "= ";

   IF n1 < 0 THEN

      n = 65536 + n1

   ELSE

      n = n1

   END IF

   b$ = ""

   DO

      n1 = n MOD m

      IF n1 < 10 THEN b$ = CHR$(n1 + kd0) + b$ ELSE b$ = CHR$(n1 + kdb) + b$

      IF n < m THEN EXIT DO

      n = n \ m

   LOOP

   PRINT b$

   PRINT Enter$; Enter$; "Повторить ?"

   DO

      w$ = INKEY$

   LOOP WHILE w$ = ""

LOOP WHILE w$ <> CHR$(27)

END


ПРЕДСТАВЛЕНИЕ ЧИСЕЛ В ЭВМ

Задачи

C = 45 ¸ 60

  1. Записать машинные коды двух целых десятичных чисел с фиксированной точкой A = –3´(N+C)+1 и B=3´(C–N) в 16-ти разрядной сетке. В ответе использовать 2-ю и 16-ю системы счисления.
  2. Выполнить операцию сложения машинных кодов двух целых чисел A и B с фиксированной точкой в 16-ти разрядной сетке. В качестве ответа записать код результата (в 2-й и 16-й системах счисления) и десятичное число, соответствующее этому коду.
  3. Числа  ±((3´(N+C)+1)+(N+1)´0.03125) записать в разрядной сетке слова (32 разряда) в форме числа с плавающей точкой (с учётом смещённого порядка)

Для IBM PC:                   (-1)S ´ 2E-127 ´ 1.F 

S

E

F

 31   30                                    23 22                                                                                                                                               0

Пример:  20.5937510 =  10100 + 0.10011 = 10100.10011

1.010010011´24 – после нормализации

S = 0;  E = 127 + 4 = 131 = 10000011;  F = 010010011

Тогда: 20.5937510 = 41A4C00016

Для IBM 360 и IBM 370:    (-1)S ´ 16E-64 ´ 0.F 

0    1                                          7  8                                                                                                                                                    31

S

E

F

 31   30                                    24 23                                                                                                                                              0

Пример:  20.5937510 =  10100 + 0.10011 = 10100.10011

0.0001010010011´162 – после нормализации

S = 0;  E = 64 + 2 = 66 = 1000010;  F = 0001010010011

Тогда: 20.5937510 = 4214980016


Примеры решения задач

C = 110; N = 6

  1. Записать машинные коды двух целых десятичных чисел с фиксированной точкой  и  в 16-ти разрядной сетке. В ответе использовать  2-ю и 16-ю системы счисления.

+34910 = 1 0101 11012 = 15D16

0000 0001 0101 1101 – прямой код

1111 1110 1010 0010 – обратный код

1111 1110 1010 0011 – дополнительный код

(дополнительный код = обратный код + 1)

Числа представляются в ЭВМ в дополнительном коде, так число –34910 будет представлено как:

1111 1110 1010 00112 или FEA316

Дополнительный код числа можно получить и иначе:

1000016 – 15D16 = FEA316

349  2

  1   174  2

         0     87  2

                 1    43  2

                        1   21  2

                              1    10  2

                                     0     5  2

                                            1    2  2

                                                  0    1

31210 = 1 0011 10002 = 13816

0000 0001 0011 1000– прямой код

Прямой и дополнительный код положительного числа выглядят одинаково, поэтому число +31210 будет представлено в ЭВМ как:

0000 0001 0011 10002 или 013816

312  2

  0   156  2

         0     78  2

                 0    39  2

                        1   19  2

                              1      9  2

                                      1    4  2

                                            0    2  2

                                                  0    1

  1. Выполнить операцию сложения машинных кодов двух целых чисел A и B с фиксированной точкой в 16-ти разрядной сетке. В качестве ответа записать код результата (в 2-й и 16-й системах счисления) и десятичное число, соответствующее этому коду.

FEA316 + 013816 = FFDB16 или 1111 1111 1101 10112

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

1111 1111 1101 1011 – дополнительный код

+

0000 0000 0010 0100

  1

0000 0000 0010 0101 – прямой код

0000 0000 0010 01012 = 2516 = 2×16 + 5 = 37. Таким образом, число соответствующее этому коду, равно  –37. (Проверка: –349 + 312 = –37).

Здесь также прямой код числа можно получить иначе: 1000016 – FFDB16 = 2516

  1. Числа ±349.1875 записать в разрядной сетке слова (32 разряда) в форме числа с плавающей точкой (с учётом смещённого порядка)

34910 = 1 0101 11012 

Переведём дробную часть числа (0.1875) в двоичную форму:

×

0   1875

0.187510 = 0.00112

Проверка:

       -1  -2 -3 -4

0.00112 = 2-3 + 2-4  =

2

×

0   3750

2

×

0   7500

2

×

1   5000

2

1   0000

Т.е.:

349.187510 = 1 0101 1101.00112

1.0101 1101 0011´28 – после нормализации

S = 0;  E = 127 + 8 = 135 = 1000 0111;  F = 0101 1101 0011

Т.о.   +349.187510  представлено как:

0100 0011 1010 1110 1001 1000 0000 00002  или  43AE980016

Отрицательное число –349.187510  представлено как (здесь S = 1, а E и F прежние):

1100 0011 1010 1110 1001 1000 0000 00002  или  C3AE980016


'*************************************************************************

'* k0_1_i.bas     К КОНТРОЛЬНОЙ РАБОТЕ N 1 (10 класс)                    *

'* ----------                                                            *

'*   Представление целых чисел в ЭВМ типа IBM PC                         *

'*                                                                       *

'*   Август 2009г.                                  Автор: Перчиц С.Н.   *

'*************************************************************************

DEFINT A-B, I

CLS

DIM bt(2)

DO

   INPUT "Введите значение целой переменной -> ", a

   adr = VARPTR(a)

   PRINT "переменная  a ="; a

   PRINT "ее адрес ="; adr

   FOR i = 1 TO 2

      bt(i) = PEEK(adr + i - 1)

   NEXT i

   PRINT "Переменная записана в памяти как: ";

   FOR i = 2 TO 1 STEP -1

      IF bt(i) < 16 THEN PRINT HEX$(0);

      PRINT HEX$(bt(i));

   NEXT i

   PRINT

   PRINT "Повторить?"

   DO

      w$ = INKEY$

   LOOP WHILE w$ = ""

LOOP WHILE w$ = CHR$(13)

'*************************************************************************

'* k0_1_f.bas     К КОНТРОЛЬНОЙ РАБОТЕ N 1 (10 класс)                    *

'* ----------                                                            *

'*   Представление вещественных чисел в ЭВМ типа IBM PC                  *

'*                                                                       *

'*   Август 2009г.                                  Автор: Перчиц С.Н.   *

'*************************************************************************

DEFINT I

CLS

DIM bt%(4)

DO

   INPUT "Введите значение вещественной переменной -> ", a

   adr% = VARPTR(a)

   PRINT "переменная  a ="; a

   PRINT "ее адрес ="; adr%

   FOR i = 1 TO 4

      bt%(i) = PEEK(adr% + i - 1)

   NEXT i

   PRINT "Переменная записана в памяти как: ";

   FOR i = 4 TO 1 STEP -1

      IF bt%(i) < 16 THEN PRINT HEX$(0);

      PRINT HEX$(bt%(i));

   NEXT i

   PRINT

   PRINT "Повторить?"

   DO

      w$ = INKEY$

   LOOP WHILE w$ = ""

LOOP WHILE w$ = CHR$(13)



По теме: методические разработки, презентации и конспекты

Урок-закрепление по теме: "Системы счисления. Перевод целых чисел из одной позиционной системы счисления в другую"

Целью данного урока является закрепление учащимися 8-го класса умений по переводу целых чисел из одной системы счисления в другую. В ходе урока учащиеся работают в группах по 2-3 человека. Самос...

Системы счисления. Основные понятия. Двоичная система счисления

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

Урок по теме «Системы счисления. Двоичная система счисления» предназначен для изучения в 9 классах.

Урок по теме «Системы счисления. Двоичная система счисления» предназначен для изучения в 9 классах.На уроке раскрывается понятие «Системы счисления», рассматриваются примеры систем счисления, а также ...

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

План-конспект урока с использованием ЭОР "Системы счисления. Перевод чисел из одной системы счисления в другую систему счисления"....

Урок-игра по информатике и ИКТ в 8 классе по теме: «Системы счисления. Перевод из одной системы счисления в другие, арифметические операции в двоичной системе счисления»

Урок-игра по информатике и ИКТ в 8 классе по теме: «Системы счисления. Перевод из одной системы счисления в другие, арифметические операции в двоичной системе счисления»...

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

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