Главная страница
Навигация по странице:

  • Решение

  • -1011

  • -10000000

  • -10011

  • -10000001

  • Задача 5

  • Раздел 6 Сложение и вычитание знаковых целых чисел Задача1

  • ИКТ. Раздел 1 Понятие информации


    Скачать 57.12 Kb.
    НазваниеРаздел 1 Понятие информации
    Дата24.02.2023
    Размер57.12 Kb.
    Формат файлаdocx
    Имя файлаИКТ.docx
    ТипЗадача
    #952718
    страница3 из 4
    1   2   3   4
    Раздел 5 Представление знаковых целых чисел

    Задача 1 Найдите дополнительный код указанного числа. Разрешается

    использовать калькулятор Windows в режиме «Программист» и

    устанавливать в нём разрядность числа.

    а) -11 однобайтовое знаковое число;

    б) -128 двухбайтовое знаковое число;

    в) -19 четырёхбайтовое знаковое число;

    г) -129 двухбайтовое знаковое число;

    д) -1 четырёхбайтовое знаковое число.

    Решение:

    а) Переведем -1110 в двоичную систему вот так:
    Целая часть числа находится делением на основание новой 

    11

    2










    -10

    5

    2







    1

    -4

    2

    2







    1

    -2

    1










    0












    Получилось:-1110 = -10112 
    Результат перевода:
    -1110 = -10112

    б) Переведем -12810 в двоичную систему вот так:
    Целая часть числа находится делением на основание новой 

    128

    2






















    -128

    64

    2



















    0

    -64

    32

    2



















    0

    -32

    16

    2



















    0

    -16

    8

    2



















    0

    -8

    4

    2



















    0

    -4

    2

    2



















    0

    -2

    1






















    0













    Получилось:-12810 = -100000002 
    Результат перевода:
    -12810 = -100000002

    в) Переведем -1910 в двоичную систему вот так:
    Целая часть числа находится делением на основание новой 

    19

    2













    -18

    9

    2










    1

    -8

    4

    2










    1

    -4

    2

    2










    0

    -2

    1













    0












    Получилось:-1910 = -100112 
    Результат перевода:
    -1910 = -100112

    г) Переведем -12910 в двоичную систему вот так:
    Целая часть числа находится делением на основание новой 

    129

    2






















    -128

    64

    2



















    1

    -64

    32

    2



















    0

    -32

    16

    2



















    0

    -16

    8

    2



















    0

    -8

    4

    2



















    0

    -4

    2

    2



















    0

    -2

    1






















    0












    Получилось:-12910 = -100000012 

    д) -110 = -12

    Задача 2 Найдите десятичное число по его дополнительному коду.

    Разрешается использовать калькулятор Windows в режиме «Программист».

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

    правильно вводить код числа.

    а) 1100

    б) 1111

    в) 110011

    г) 11001011

    д) 10000001

    е) 11111111

    ж) 1011111101

    з) 1000000000000000

    и) 1000000000000001

    к) 1111111111111111

    л) 110010111100101111001011

    м) 11001011110010111100101111001100

    Решение:

    а) 11002 = 1∙23+1∙22+0∙21+0∙20 = 8+4+0+0 = 1210 

    б) 11112 = 1∙23+1∙22+1∙21+1∙20 = 8+4+2+1 = 1510 

    в) 1100112 = 1∙25+1∙24+0∙23+0∙22+1∙21+1∙20 = 32+16+0+0+2+1 = 5110 

    г) 110010112 = 1∙27+1∙26+0∙25+0∙24+1∙23+0∙22+1∙21+1∙20 = 128+64+0+0+8+0+2+1 = 20310 

    д) 100000012 = 1∙27+0∙26+0∙25+0∙24+0∙23+0∙22+0∙21+1∙20 = 128+0+0+0+0+0+0+1 = 12910 

    е) 111111112 = 1∙27+1∙26+1∙25+1∙24+1∙23+1∙22+1∙21+1∙20 = 128+64+32+16+8+4+2+1 = 25510 

    ж) 10111111012 = 1∙29+0∙28+1∙27+1∙26+1∙25+1∙24+1∙23+1∙22+0∙21+1∙20 = 512+0+128+64+32+16+8+4+0+1 = 76510 

    з) 10000000000000002 = 1∙215+0∙214+0∙213+0∙212+0∙211+0∙210+0∙29+0∙28+0∙27+0∙26+0∙25+ +0∙24+0∙23+0∙22+0∙21+0∙20 = 32768+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0 = 3276810 

    и) 10000000000000012 = 1∙215+0∙214+0∙213+0∙212+0∙211+0∙210+0∙29+0∙28+0∙27+0∙26+ +0∙25+0∙24+0∙23+0∙22+0∙21+1∙20 = 32768+0+0+0+0+0+0+0+0+0+0+0+0+0+0+1 = 3276910 

    к) 11111111111111112 = 1∙215+1∙214+1∙213+1∙212+1∙211+1∙210+1∙29+1∙28+1∙27+1∙26+1∙25+1∙24+1∙23+1∙22+1∙21+1∙20 = 32768+16384+8192+4096+2048+1024+512+256+128+64+32+16+8+4+2+1 = 6553510 

    л) 1100101111001011110010112 = 1∙223+1∙222+0∙221+0∙220+1∙219+0∙218+1∙217+1∙216+1∙215+1∙214+0∙213+0∙212+1∙211+0∙210+1∙29+1∙28+1∙27+1∙26+0∙25+0∙24+1∙23+0∙22+1∙21+1∙20= 8388608+4194304+0+0+524288+0+131072+65536+32768+16384+0+0+2048+0+512+256+128+64+0+0+8+0+2+1 = 1335597910 

    м) 110010111100101111001011110011002 = 1∙231+1∙230+0∙229+0∙228+1∙227+0∙226+1∙225+1∙224+1∙223+1∙222+0∙221+0∙220+1∙219+0∙218+1∙217+1∙216+1∙215+1∙214+0∙213+0∙212+1∙211+0∙210+1∙29+1∙28+1∙27+1∙26+0∙25+0∙24+1∙23+1∙22+0∙21+0∙20= 2147483648+1073741824+0+0+134217728+0+33554432+16777216+8388608+4194304+0+0+524288+0+131072+65536+32768+16384+0+0+2048+0+512+256+128+64+0+0+8+4+0+0 = 341913082810 
    Задача 5 Написать программу для вывода на экран в двоичном и десятичном

    виде максимального и минимального чисел типа long.

    Решение:

    public class Program{

    public static void Main(){

    long min = Int64.MinValue;

    for (int i=63; i>=0; i--) {

    Console.Write((min>>i) & 0x01);

    }

    Раздел 6 Сложение и вычитание знаковых целых чисел

    Задача1 Найти сумму вручную столбиком:

    а)

    11010101

    01101010

    11101010

    00111010

    ????????

    б)

    11111001

    11111010

    11101011

    01111011

    ????????

    в)

    00111010

    01001010

    10001011

    10111111

    ????????

    Решение:

    Задача 4 Разработать на языке C# программу для вычисления значения

    выражений над 4-разрядными знаковыми числами и вывести исходные

    данные и результат в десятичном и двоичном виде:

    а) 0101-1101

    б) 0101+1011

    в) 0111-0011

    г) 1111+1000

    д) 1111-0010

    е) 0100+0110

    ж) 0000-0010
    Решение:

    а) 1012 - 1101210002

    10002 = 1∙23+0∙22+0∙21+0∙20 = 8+0+0+0 = 810

    б) 1012+ 10112100002

    100002 = 1∙24+0∙23+0∙22+0∙21+0∙20 = 16+0+0+0+0 = 1610

    в) 1112 - 1121002

    1002 = 1∙22+0∙21+0∙20 = 4+0+0 = 410

    г) 11112 + 10002101112

    101112 = 1∙24+0∙23+1∙22+1∙21+1∙20 = 16+0+4+2+1 = 2310

    д) 11112 - 102 =11012

    11012 = 1∙23+1∙22+0∙21+1∙20 = 8+4+0+1 = 1310

    е) 1002 + 110 =10102

    10102 = 1∙23+0∙22+1∙21+0∙20 = 8+0+2+0 = 1010

    ж) нет решений

    Задача 5. Подобрать такие 16-разрядные знаковые значения для чисел A и B, при которых выполняются условия:
    а) A-B приводит к OF=0
    б) A+B приводит к OF=0
    в) A-B приводит к OF=1
    г) A+B приводит к OF=1


    Решение:

    а) A-B приводит к OF=0
    A=0x0001
    B=0x0000
    б) A+B приводит к OF=0
    A=0x0001
    B=0x0000
    в) A-B приводит к OF=1
    A=0x8000
    B=0x0001
    г) A+B приводит к OF=1
    A=0x7FFF
    B=0x0001

    1   2   3   4


    написать администратору сайта