ЦУЙУ. Позиционные системы счисления
Скачать 0.86 Mb.
|
Ещё пример задания:Р-18. Сколько единиц в двоичной записи числа 42014 + 22015 – 8 Решение: приведём все числа к степеням двойки: 42014 + 22015 – 8 = (22)2014 + 22015 – 23 = 24028 + 22015 – 23 вспомним, что число 2N-1 в двоичной системе записывается как N единиц: , а число 2N–2K при K < N записывается как N–K единиц и K нулей: согласно п. 2, число 22015 – 23 запишется как 2012 единиц и 3 нуля прибавление 24028 даст ещё одну единицу, всего получается 2012 + 1 = 2013 единиц ответ: 2013. Решение (программа на Python, Б.С. Михлин): программа использует встроенную «длинную арифметику» Python: x = bin( 4**2014 + 2**2015 - 8 ) print( x.count( '1' ) ) ответ: 2013. Ещё пример задания:Р-17. Сколько единиц в двоичной записи числа 42016 + 22018 – 8600 + 6 Решение: приведём все числа к степеням двойки, разложив 6 как 22+21 42016 + 22018 – 8600 + 6 = (22)2016 + 22018 - (23)600 + 22 + 21 = 24032 + 22018 – 21800 + 22 + 21 вспомним, что число 2N-1 в двоичной системе записывается как N единиц: , а число 2N–2K при K < N записывается как N–K единиц и K нулей: согласно п. 2, число 22018 – 21800 запишется как 218 единиц и 1800 нулей прибавление 24032 даст ещё одну единицу, а прибавление 22 + 21 – ещё две, всего получается 218 + 3 = 221 единица ответ: 221. Ещё пример задания:Р-16. Сколько единиц в двоичной записи числа 42016 – 22018 + 8800 – 80 Решение: приведём все числа к степеням двойки, разложив 80 как 26+24 42016 – 22018 + 8800 – 80 = (22)2016 – 22018 + (23)800 – 22 – 21 = 24032 – 22018 + 22400 – 26 – 24 перестроим слагаемые в порядке уменьшения степеней двойки 24032 + 22400 – 22018 – 26 – 24 вспомним, что число 2N-1 в двоичной системе записывается как N единиц: , а число 2N–2K при K < N записывается как N–K единиц и K нулей: согласно п. 2, число 22400 – 22018 запишется как 382 единицы и 2018 нулей добавляем старшее слагаемое 24032, получаем число 24032 + 22400 – 22018, в котором 383 единицы и в конце (после последней единицы) – 2018 нулей: выделим из этого значения последнюю единицу со следующими 2018 нулями как отдельное слагаемое (число 22018): , где число K содержит 382 единицы в старших разрядах; таки образом, интересующее нас число равно согласно п. 2, число 22018 – 26 запишется как 2012 единиц и 6 нулей; также выделим последнюю единицу с последующими нулями как отдельное слагаемое: где число L содержит 2011 единиц теперь остаётся найти, сколько единиц будет в двоичной записи числа 26 – 24, согласно п. 2 находим, что оно содержит 2 единицы таким образом, общее число единиц равно 382 + 2011 + 2 = 2395 ответ: 2395. Решение (способ 2, Е.А. Смирнов, Нижегородская область): приведём все числа к степеням двойки, разложив 80 как 26+24 42016 – 22018 + 8800 – 80 = (22)2016 – 22018 + (23)800 – 22 – 21 = 24032 – 22018 + 22400 – 26 – 24 перестроим слагаемые в порядке уменьшения степеней двойки 24032 + 22400 – 22018 – 26 – 24 представим – 22018 = – 22019 + 22018 и – 26 = – 27 + 26 24032 + 22400 – 22019 + 22018 – 27 + 26– 24 слагаемое 24032 в двоичной записи содержит 1 единицу слагаемое 22400 – 22019 содержит 381 единицу (число 2N–2K при K < N в двоичной системе записывается как N–K единиц и K нулей: ) слагаемое 22018 – 27 содержит 2011 единиц, слагаемое 26– 24 содержит 2 единицы позиции единиц во всех этих слагаемых не совпадают, поэтому общее количество единиц равно 1 + 381 + 2011 + 2 = 2395 ответ: 2395 Решение (способ 3, А.И. Козлов, г. Северобайкальск): приведём все числа к степеням двойки, разложив 80 как 26+24 42016 – 22018 + 8800 – 80 = (22)2016 – 22018 + (23)800 – 22 – 21 = 24032 – 22018 + 22400 – 26 – 24 перестроим слагаемые в порядке уменьшения степеней двойки 24032 + 22400 – 22018 – 26 – 24 выражение 22400–24 дает 2396 единиц и 4 нолика в конце, откуда вычеркиваем (заменяем на ноль) единичку, стоящую на седьмом месте справа (26) и, соответственно на 2019 месте справа (22018). Следовательно, остается 2394 единички. С учетом того, что 24032 дает нам одну единицу, в итоге получаем 2395 единиц Ответ: 2395 |