Главные вкладки

    Системы счисления
    план-конспект урока информатики и икт (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-й системе счисления»

    В данной презентации прослеживается единная логика сложения и вычитания чисел, что в 10-й системе счисления, что в любой другой системе счисления (например, в 8-й системе счисления)....

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

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

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

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