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

  • Решение (программа на Python, Б.С. Михлин)

  • Решение (способ 2, Е.А. Смирнов, Нижегородская область)

  • Решение (способ 3, А.И. Козлов, г. Северобайкальск)

  • ЦУЙУ. Позиционные системы счисления


    Скачать 0.86 Mb.
    НазваниеПозиционные системы счисления
    Дата15.09.2022
    Размер0.86 Mb.
    Формат файлаdoc
    Имя файлаege14 (1).doc
    ТипДокументы
    #678195
    страница6 из 15
    1   2   3   4   5   6   7   8   9   ...   15

    Ещё пример задания:


    Р-18. Сколько единиц в двоичной записи числа
    42014 + 22015 – 8

    Решение:

    1. приведём все числа к степеням двойки:

    42014 + 22015 – 8 = (22)2014 + 22015 – 23 = 24028 + 22015 – 23

    1. вспомним, что число 2N-1 в двоичной системе записывается как N единиц: ,
      а число 2N2K при K < N записывается как N–K единиц и K нулей:

    2. согласно п. 2, число 22015 – 23 запишется как 2012 единиц и 3 нуля

    3. прибавление 24028 даст ещё одну единицу, всего получается 2012 + 1 = 2013 единиц

    4. ответ: 2013.

    Решение (программа на Python, Б.С. Михлин):

    1. программа использует встроенную «длинную арифметику» Python:

    x = bin( 4**2014 + 2**2015 - 8 )
    print( x.count( '1' ) )


    1. ответ: 2013.

    Ещё пример задания:


    Р-17. Сколько единиц в двоичной записи числа
    42016 + 22018 – 8600 + 6

    Решение:

    1. приведём все числа к степеням двойки, разложив 6 как 22+21

    42016 + 22018 – 8600 + 6 = (22)2016 + 22018 - (23)600 + 22 + 21 = 24032 + 22018 – 21800 + 22 + 21

    1. вспомним, что число 2N-1 в двоичной системе записывается как N единиц: ,
      а число 2N2K при K < N записывается как N–K единиц и K нулей:

    2. согласно п. 2, число 22018 – 21800 запишется как 218 единиц и 1800 нулей

    3. прибавление 24032 даст ещё одну единицу, а прибавление 22 + 21 – ещё две, всего получается 218 + 3 = 221 единица

    4. ответ: 221.

    Ещё пример задания:


    Р-16. Сколько единиц в двоичной записи числа
    42016 – 22018 + 8800 – 80

    Решение:

    1. приведём все числа к степеням двойки, разложив 80 как 26+24

    42016 – 22018 + 8800 – 80 = (22)2016 – 22018 + (23)800 – 22 – 21 = 24032 – 22018 + 22400 – 26 – 24

    1. перестроим слагаемые в порядке уменьшения степеней двойки

    24032 + 22400 – 22018 – 26 – 24

    1. вспомним, что число 2N-1 в двоичной системе записывается как N единиц: ,
      а число 2N2K при K < N записывается как N–K единиц и K нулей:

    2. согласно п. 2, число 22400 – 22018 запишется как 382 единицы и 2018 нулей

    3. добавляем старшее слагаемое 24032, получаем число 24032 + 22400 – 22018, в котором 383 единицы и в конце (после последней единицы) – 2018 нулей:



    1. выделим из этого значения последнюю единицу со следующими 2018 нулями как отдельное слагаемое (число 22018):

    ,

    где число K содержит 382 единицы в старших разрядах; таки образом, интересующее нас число равно

    1. согласно п. 2, число 22018 – 26 запишется как 2012 единиц и 6 нулей; также выделим последнюю единицу с последующими нулями как отдельное слагаемое:



    где число L содержит 2011 единиц

    1. теперь остаётся найти, сколько единиц будет в двоичной записи числа 26 – 24, согласно п. 2 находим, что оно содержит 2 единицы

    2. таким образом, общее число единиц равно 382 + 2011 + 2 = 2395

    3. ответ: 2395.

    Решение (способ 2, Е.А. Смирнов, Нижегородская область):

    1. приведём все числа к степеням двойки, разложив 80 как 26+24

    42016 – 22018 + 8800 – 80 = (22)2016 – 22018 + (23)800 – 22 – 21 = 24032 – 22018 + 22400 – 26 – 24

    1. перестроим слагаемые в порядке уменьшения степеней двойки

    24032 + 22400 – 22018 – 26 – 24

    1. представим – 22018 = – 22019 + 22018 и – 26 = – 27 + 26

    24032 + 22400 – 22019 + 22018 – 27 + 26– 24

    1. слагаемое 24032 в двоичной записи содержит 1 единицу

    2. слагаемое 22400 – 22019 содержит 381 единицу (число 2N2K при K < N в двоичной системе записывается как N–K единиц и K нулей: )

    3. слагаемое 22018 – 27 содержит 2011 единиц, слагаемое 26– 24 содержит 2 единицы

    4. позиции единиц во всех этих слагаемых не совпадают, поэтому общее количество единиц равно 1 + 381 + 2011 + 2 = 2395

    ответ: 2395

    Решение (способ 3, А.И. Козлов, г. Северобайкальск):

    1. приведём все числа к степеням двойки, разложив 80 как 26+24

    42016 – 22018 + 8800 – 80 = (22)2016 – 22018 + (23)800 – 22 – 21 = 24032 – 22018 + 22400 – 26 – 24

    1. перестроим слагаемые в порядке уменьшения степеней двойки

    24032 + 22400 – 22018 – 26 – 24

    1. выражение 22400–24 дает 2396 единиц и 4 нолика в конце, откуда вычеркиваем (заменяем на ноль) единичку, стоящую на седьмом месте справа (26) и, соответственно на 2019 месте справа (22018). Следовательно, остается 2394 единички.

    2. С учетом того, что 24032 дает нам одну единицу, в итоге получаем 2395 единиц

    3. Ответ: 2395
    1   2   3   4   5   6   7   8   9   ...   15


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