6. Чётные числа в двоичной системе всегда оканчиваются на 0, а нечётные – на 1.
При выполнении арифметических операций в ЭВМ применяют специальные коды для представления чисел: прямой, обратный и дополнительный коды чисел.
Прямой код двоичного числа – это само двоичное число.
Обратный код положительного числа совпадает с прямым, а при записи отрицательного числа все его цифры, кроме цифры, изображающей знак числа, заменяются на противоположные (0 заменяется на 1, а 1 – на 0).
Пример: Дано число X=-1011. Перевести число в обратный код. Хобр=1.0100
Дополнительный код положительного числа совпадает с прямым, а код отрицательного числа образуется как результат увеличения на 1 его обратного кода.
Пример: Дано число X=-1011. Перевести в дополнительный код. Хдоп=1.0101
11. Варианты заданий с решением
1. Дано:
,
. Какое из чисел С, записанных в двоичной системе счисления, удовлетворяет неравенству
?
Решение:При переводеaиbв двоичное представление, получим:a=AA16 =101010102 ,b=2558 =101011012 . Отсюда следует, что подходит значение 101011002,
2. Чему равна сумма чисел 718 и 1F16?
Решение:Надо представить числа в двоичном виде и поразрядно сложить:
718=1110012каждая цифра в 8-ой системе представляется 3-мя битами, 1F16=111112каждая цифра в 16-ой системе представляется 4-мя битами.(Представление 8-х и 16-х чисел в двоичном виде надо знать!)
Полученное двоичное число представим в 8-м и 16-м виде: 10110002=5816=1308 =8810.
3. Для передачи по каналу связи сообщения, состоящего только из символов А, Б, В и Г используется посимвольное кодирование: А-0, Б-11, В-100, Г-011. Через канал связи передается сообщение: ГБАВАВГ. Закодируйте сообщение данным кодом. Полученную двоичную последовательность переведите в восьмеричный код.
1) DBACACD2) 75043 3) 7A23 4) 3304043
Решение:Заменяя в сообщении буквы на соответствующий код, получим следующую последовательность:
0111101000100011. Разобьем эту последовательность на триады справа налево: 111 101 000 100 011, представив каждую триаду в виде 8-го числа, получим: 75043
4. Укажите через запятую в порядке возрастания все десятичные числа, не превосходящие 26, запись которых в троичной системе счисления оканчивается на 22?
Решение: Для решения задачи достаточно рассмотреть следующие числа в троичной системе счисления: 223, 1223, 2223 и перевести их в десятичную систему счисления:
5. Сколько единиц в двоичной записи десятичного числа 513?
1) 5 2) 2 3) 3 4) 4
Решение: 513=512+1 => 512=2 9 = 10000000002 => 513= 10000000002 +1=10000000012
6. Сколько значащих нулей в двоичной записи числа 254?
1) 1 2) 2 3) 4 4) 8
Решение: 254=255 — 1 => 255=2 8 -1=111111112 – 1=111111102
7. Для хранения целого числа со знаком используется один байт. Сколько единиц содержит внутреннее представление числа (-78)?
1) 3 2) 4 3) 5 4) 6
- переводим число 78 в двоичную систему счисления:
78 = 64 + 8 + 4 + 2 = 2 6 + 2 3 + 2 2 + 2 1 = 10011102
- по условию число занимает в памяти 1 байт = 8 бит, поэтому нужно представить число с помощью 8 разрядов, причем старший разряд — знаковый
- в прямом коде число будет представлено в виде:
110011102
- делаем инверсию битов (заменяем везде, кроме знакового разряда, 0 на 1 и 1 на 0) и получим число в обратном коде:
110011102 → 101100012
- добавляем к результату единицу и получим число в дополнительном коде:
101100012 + 1 = 101100102
- в записи этого числа 4 единицы
Ответ: 2 8. Запись числа 6710 в системе счисления с основанием N оканчивается на 1 и содержит 4 цифры. Чему равно основание этой системы счисления N? Решение 1: Начнем с двоичной системы. Для хранения числа 67 необходимо 7 цифр, т.к. 6410 в троичную систему. Но полный перевод делать не надо, т.к. нас интересует только первый остаток, на него и будет оканчиваться 67 в троичной системе. 67| 36 22 7 6 1 Остаток равен 1. Следовательно, и второе условие выполнено, поэтому троичная система подходит. Основание троичной системы равно 3. Ответ:3 Решение 2:Так как запись в системе счисления с основанием N заканчивается на 1, то остаток от деления числа 67 на N равен 1. Таким образом можно записать, что при некотором целом
:
Из последнего выражения видно, что N (основание системы счисления) является делителем числа 66. Делителями числа 66 являются следующие натуральные числа: 2, 3,6, 11, 22, 33, 66. Но нам известно, что запись числа содержит 4 цифры, то есть
Выпишем кубы и четвертые степени первых натуральных чисел, которые являются делителями числа 66:
Видно, что из этого списка только для числа N = 3 выполняется условие
. Таким образом, ответ – 3. Проверим это, переведя число 67 в троичную систему: 6710= 21113Ответ:3 9. Все 5-буквенные слова, составленные из букв А, О, У, записаны в алфавитном порядке. Вот начало списка: 1.ААААА 2.ААААО 3.ААААУ 4.АААОА …… Запишите слово, которое стоит на 240-м месте от начала списка. Решение: Из списка видно, что используются только символы: «А», «О», «У». Пусть «А»=0, «О»=1, «У»=2. Список после замены станет таким:
- 00000
- 00001
- 00002
- 00010
Видно, что это числа, идущие по порядку от нуля в троичной системе. В десятичной системе счисления список бы был таким: 0, 1 , 2, 3. Нам нужно найти, какое число будет стоять на 240 месте. Т.к. список чисел начинается с нуля, следовательно, нам нужно перевести число 239 в троичную систему счисления. Получим число: 222123. Переведем обратно в символы: УУУОУ. Ответ: УУУОУ 10. В таблице ниже представлена часть кодовой таблицы ASCII:
| Символ | 1 | 5 | A | B | Q | a | b |
| Десятичный код | 49 | 53 | 65 | 66 | 81 | 97 | 98 |
| Шестнадцатеричный код | 31 | 35 | 41 | 42 | 51 | 61 | 62 |
Каков шестнадцатеричный код символа “q” ? Решение: Q-A=81-65=16 => q-a=16 => q-97=16 => q=97+16=113 => 11310 =7116 113| 16112 7 1 Ответ: 71 11. Решите уравнение
. Ответ запишите в шестеричной системе счисления. Основание системы счисления указывать не нужно. Решение:Надо перевести все числа в десятичную систему, решить уравнение и результат перевести в шестеричную систему: 1) 
- из уравнения
получаем 
- переводим 15 в шестеричную систему счисления:

Ответ: 23 12. Запись десятичного числа в системах счисления с основаниями 3 и 5 в обоих случаях имеет последней цифрой 0. Какое минимальное натуральное десятичное число удовлетворяет этому требованию? Решение:если запись числа в системе счисления с основанием N заканчивается на 0, то это число делится на N нацело, поэтому в данной задаче требуется найти наименьшее натуральное число, которое делится одновременно на 3 и на 5, то есть это число15. Ответ:15 13. Укажите, сколько всего раз встречается цифра 2 в записи чисел 10, 11, 12, …, 17 в системе счисления с основанием 5. Решение (вариант 1):При решении задачи надо помнить, что в 5-ой системе счисления самая старшая цифра – 4. Запишем первое и последнее число в заданном диапазоне в системе счисления с основанием 5: 10 = 205, 17 = 325 . Оба они содержат цифру 2, так что, 2 цифры мы уже нашли. Между 205 и 325 есть еще числа: 215, 225, 235, 245, 305, 315. В них 5 цифр 2 (в числе 225 – сразу две двойки), поэтому всего цифра 2 встречается 7 раз. Ответ: 7 Решение (вариант 2): Можно перевести все указанные числа в систему счисления с основанием 5 и подсчитать количество 2: 10 = 205, 11 = 215, 12 = 225, 13 = 235, 14 = 245, 15 = 305, 16 = 315, 17 = 325 . Получается 7 штук. Ответ: 7 14. Укажите наименьшее основание системы счисления, в которой запись числа 30 трехзначна. Решение (вариант 1):Обозначим через
неизвестное основание системы счисления, тогда запись числа 30 в этой системе имеет вид:
Любое число в позиционной системе счисления можно представить в виде многочлена по основанию системы счисления:
По условию задачи запись числа трехзначная, т.е.
, поэтому:
Из неравенства видно, что подходят только два числа для N – 4 и 5: 
Минимальное из этих значений – 4. Ответ: 4 Решение (вариант 2):Так как число по условию трехзначное, то достаточно найти первое целое число, куб которого больше 30; это — 4, так как:
Так как
, следовательно, в системе счисления с основанием 4 запись числа 30 трехзначна. Ответ: 4 15. Укажите через запятую в порядке возрастания все десятичные числа, не превосходящие 30, запись которых в системе счисления с основанием 5 начинается на 3? Решение (вариант 1):Сначала определим, сколько цифр может быть в этих числах, записанных в системе счисления с основанием 5. Так как
, в интересующих нас числах может быть от 1 до 3 цифр. Трехзначные числа, начинающиеся на 3 в системе с основанием 5 можно представить:
Все они заведомо не меньше
, поэтому в наш диапазон не попадают. Таким образом, остается рассмотреть только однозначные и двухзначные числа. Есть всего одно однозначное число, начинающееся на 3, это 3. Общий вид всех двузначных чисел, начинающихся на 3 в системе с основанием 5:
, где
– целое число из множества (поскольку система счисления имеет основание 5 и цифр, больших 4, в записи числа быть не может). Используя эту формулу, находим интересующие нас двузначные числа – 15, 16, 17, 18 и 19. Ответ: 3, 15, 16, 17, 18, 19 Решение (вариант 2):Поскольку
, в интересующих нас числах может быть не более 2 цифр (все трехзначные пятеричные числа, начинающиеся с 3, больше 30). Есть всего одно однозначное число, начинающееся на 3, это 3. Выпишем все пятеричные двузначные числа, которые начинаются с 3, и переведем их в десятичную систему: 305= 15, 315= 16, 325= 17, 335= 18 и 345= 19. Ответ: 3, 15, 16, 17, 18, 19 16. Чему равно наименьшее основание позиционной системы счисления
, при котором 225x= 405y? Ответ записать в виде целого числа. Решение:Поскольку в левой и в правой частях есть цифра 5, оба основания больше 5, то есть перебор имеет смысл начинать с
. Для каждого «подозреваемого»
вычисляем значение
и решаем уравнение
, причем, нас интересуют только натуральные
. Для
и
нужных решений нет, а для
получаем
так что
. Ответ: 8 17. Даны 4 числа, они записаны с использованием различных систем счисления. Укажите среди этих чисел то, в двоичной записи которого содержится ровно 6 единиц. Если таких чисел несколько, укажите наибольшее из них. 1) 6310 * 4102) F816 + 1103) 33384) 111001112Решение:Нужно перевести все заданные числа в двоичную систему, подсчитать число единиц и выбрать наибольшее из чисел, в которых ровно 6 единиц. Для первого варианта переведем оба сомножителя в двоичную систему: 6310 = 1111112 410 = 1002 В первом числе ровно 6 единиц, умножение на второе добавляет в конец два нуля: 6310 * 410 = 1111112 * 1002 = 111111002 то есть в этом числе 6 единиц. Для второго варианта воспользуемся связью между шестнадцатеричной и двоичной системами счисления: каждую цифру шестнадцатеричного числа можно переводить отдельно в тетраду (4 двоичных цифры): F16 = 11112 816 = 10002 F816 = 1111 10002 после добавления единицы F816 + 1 = 1111 10012 также получаем число, содержащее ровно 6 единиц, но оно меньше, чем число в первом варианте ответа. Для третьего варианта используем связь между восьмеричной и двоичной системами: каждую цифру восьмеричного числа переводим отдельно в триаду (группу из трёх) двоичных цифр: 3338 = 011 011 0112 = 110110112 это число тоже содержит 6 единиц, но меньше, чем число в первом варианте ответа. Последнее число 111001112 уже записано в двоичной системе, оно тоже содержит ровно 6 единиц, но меньше первого числа Таким образом, все 4 числа, указанные в вариантах ответов содержат ровно 6 единиц, но наибольшее из них – первое Ответ: 1 18. Даны 4 целых числа, записанные в двоичной системе: 10001011, 10111000, 10011011, 10110100. Сколько среди них чисел, больших, чем А416 +208? 1) 1 2) 2 3) 3 4) 4 Решение:Надо перевести А416+208 в двоичную систему счисления, разложив их по тетрадам для 16-х чисел и по триадам для 8-х чисел: А416— 101001002и 208— 100002и поразрядно сложить: 101001002+ 100002= 101101002. Сравнив с заданными числами, видим, что только одно число больше полученного, это: 10111000. Ответ: 1 19. Найти сумму восьмеричных чисел 178 +1708 +17008 +. +17000008, перевести в 16-ую систему счисления. Найдите в записи числа, равного этой сумме, третью цифру слева. Решение:Несложно выполнить прямое сложение восьмеричных чисел, там быстро обнаруживается закономерность: 178+ 1708= 2078178+ 1708+ 17008= 21078178+ 1708+ 17008+ 170008= 211078178+ 1708+ 17008+ 170008+ 1700008= 2111078178+ 1708+ 17008+ 170008+ 1700008+ 17000008= 21111078 Переведем последнюю сумму через триады в двоичный код (заменяем каждую восьмеричную цифру на 3 двоичных): 100010010010010001112 Теперь разбиваем цепочку на тетрады (группы из 4-х двоичных цифр), начиная справа, и каждую тетраду представляем в виде шестнадцатеричной цифры 8924716 Третья цифра слева: 2. Ответ: 2 20. В системе счисления с некоторым основанием число 17 записывается в виде 122. Укажите это основание. Решение: Обозначим искомое основание системы счисления через x, тогда можно записать выражение: 17 = x 2 +2 x+2 или x 2 +2 x-15 = 0. Решив это уравнение, получим x=3. Ответ: 3
Как определить четность двоичного числа



Скачай курс
в приложении
Перейти в приложение
Открыть мобильную версию сайта
© 2013 — 2023. Stepik
Наши условия использования и конфиденциальности

Public user contributions licensed under cc-wiki license with attribution required
Чётные числа в двоичной системе всегда оканчиваются на 0, а нечётные – на 1.
При выполнении арифметических операций в ЭВМ применяют специальные коды для представления чисел: прямой, обратный и дополнительный коды чисел.
Прямой код двоичного числа – это само двоичное число.
Обратный код положительного числа совпадает с прямым, а при записи отрицательного числа все его цифры, кроме цифры, изображающей знак числа, заменяются на противоположные (0 заменяется на 1, а 1 – на 0).
Пример: Дано число X=-1011. Перевести число в обратный код. Хобр=1.0100
Дополнительный код положительного числа совпадает с прямым, а код отрицательного числа образуется как результат увеличения на 1 его обратного кода.
Пример: Дано число X=-1011. Перевести в дополнительный код. Хдоп=1.0101
Варианты заданий с решением
1. Дано: , . Какое из чисел С, записанных в двоичной системе счисления, удовлетворяет неравенству ?
Решение: При переводе a и b в двоичное представление, получим: a = AA 16 =101010102 , b =2558 =101011012. Отсюда следует, что подходит значение 101011002,
Ответ: 4
2. Чему равна сумма чисел 718 и 1F16?
Решение: Надо представить числа в двоичном виде и поразрядно сложить:
718=1110012 каждая цифра в 8-ой системе представляется 3-мя битами, 1F16=111112 каждая цифра в 16-ой системе представляется 4-мя битами. (Представление 8-х и 16-х чисел в двоичном виде надо знать!)
Полученное двоичное число представим в 8-м и 16-м виде: 10110002=5816=1308 =8810.
Ответ: 4
3. Для передачи по каналу связи сообщения, состоящего только из символов А, Б, В и Г используется посимвольное кодирование: А-0, Б-11, В-100, Г-011. Через канал связи передается сообщение: ГБАВАВГ. Закодируйте сообщение данным кодом. Полученную двоичную последовательность переведите в восьмеричный код.
1) DBACACD 2) 75043 3) 7A23 4) 3304043
Решение: Заменяя в сообщении буквы на соответствующий код, получим следующую последовательность:
0111101000100011. Разобьем эту последовательность на триады справа налево: 111 101 000 100 011, представив каждую триаду в виде 8-го числа, получим: 75043
Ответ: 2
4. Укажите через запятую в порядке возрастания все десятичные числа, не превосходящие 26, запись которых в троичной системе счисления оканчивается на 22?
Решение: Для решения задачи достаточно рассмотреть следующие числа в троичной системе счисления: 223, 1223, 2223 и перевести их в десятичную систему счисления:
Проверить четность/нечетность числа не используя %
Похоже, что вопрос на понимание двоичного представления целого числа.
Например для представления типа byte используется 8 бит (8 числел в двоичной системе исчисления, которые могут принимать значение 0 или 1), соответственно :
000 = 0000 0000 001 = 0000 0001 002 = 0000 0010 003 = 0000 0011 . 126 = 0111 1110 127 = 0111 1111
Первый бит(здесь и далее буду считать слева) используется для хранения знака числа и будет использован для представления отрицательных чисел:
-001 = 1111 1111 -002 = 1111 1110 . -127 = 1000 0001 -128 = 1000 0000
Таким образом, для проверки четности числа можно проверить последний бит, если он равен 0, то число четное, иначе нечетное.
Как конкретно реализовать проверку — зависит от вашей фантазии:
// к типу long может быть неявно преобразован // любой целочисленный тип - преобразование безопасно public static boolean isOdd1(long input) < // для проверки нам нужен только один бит, все остальные // нужно приравнять к 0, для этого применим побитовое умножение // если число умножить на 0, получим 0 // если число умножить на 1, получим исходное число (0 или 1) // пример преобразования для byte (8 бит) // (XXXX XXXX) & (0000 0001) = (0000 000X) // в коде используется тип long, т.е используется 64 бита long filterMask = 1; // маска для фильтрации - аналог (0000 0001) long filteredInput = filterMask & input; // проверка результата - сравниваем X c 1 // где X может быть 0 или 1 соответственно // (0000 000X) == (0000 0001) boolean result = (filteredInput == 1); return result; // или одной строкой return (input & 1) == 1; >
Вот еще «плохой» пример (но работает):
public static boolean isOdd2(long input) < //получаем строку с двоичным представлением числа String stringRepresentation = Long.toBinaryString(input); // проверяем, что последний элемент равен 1 boolean result = stringRepresentation.endsWith("1"); return result; >
Еще несколько интересных моментов:
Побитовые операторы неявно преобразуют тип к int (или long если один из элементов long). Т.е. следующий код не скомпилируется
public static boolean isOdd3(byte input)
OddTester.java:ХХ: error: incompatible types: possible lossy conversion from int to byte byte filteredInput = filterMask & input; ^ 1 error
Побитовые операторы не поддерживают ускоренное вычисление
public static void shortTest() < String s = null; //s.equals("") не будет выполнено, т.к первое условие дало false if (s == null && s.equals("")); if (s == null & s.equals("")); //NPE >
6. Чётные числа в двоичной системе всегда оканчиваются на 0, а нечётные – на 1.
При выполнении арифметических операций в ЭВМ применяют специальные коды для представления чисел: прямой, обратный и дополнительный коды чисел.
Прямой код двоичного числа – это само двоичное число.
Обратный код положительного числа совпадает с прямым, а при записи отрицательного числа все его цифры, кроме цифры, изображающей знак числа, заменяются на противоположные (0 заменяется на 1, а 1 – на 0).
Пример: Дано число X=-1011. Перевести число в обратный код. Хобр=1.0100
Дополнительный код положительного числа совпадает с прямым, а код отрицательного числа образуется как результат увеличения на 1 его обратного кода.
Пример: Дано число X=-1011. Перевести в дополнительный код. Хдоп=1.0101
11. Варианты заданий с решением
1. Дано:
,
. Какое из чисел С, записанных в двоичной системе счисления, удовлетворяет неравенству
?
Решение:При переводеaиbв двоичное представление, получим:a=AA16 =101010102 ,b=2558 =101011012 . Отсюда следует, что подходит значение 101011002,
2. Чему равна сумма чисел 718 и 1F16?
Решение:Надо представить числа в двоичном виде и поразрядно сложить:
718=1110012каждая цифра в 8-ой системе представляется 3-мя битами, 1F16=111112каждая цифра в 16-ой системе представляется 4-мя битами.(Представление 8-х и 16-х чисел в двоичном виде надо знать!)
Полученное двоичное число представим в 8-м и 16-м виде: 10110002=5816=1308 =8810.
3. Для передачи по каналу связи сообщения, состоящего только из символов А, Б, В и Г используется посимвольное кодирование: А-0, Б-11, В-100, Г-011. Через канал связи передается сообщение: ГБАВАВГ. Закодируйте сообщение данным кодом. Полученную двоичную последовательность переведите в восьмеричный код.
1) DBACACD2) 75043 3) 7A23 4) 3304043
Решение:Заменяя в сообщении буквы на соответствующий код, получим следующую последовательность:
0111101000100011. Разобьем эту последовательность на триады справа налево: 111 101 000 100 011, представив каждую триаду в виде 8-го числа, получим: 75043
4. Укажите через запятую в порядке возрастания все десятичные числа, не превосходящие 26, запись которых в троичной системе счисления оканчивается на 22?
Решение: Для решения задачи достаточно рассмотреть следующие числа в троичной системе счисления: 223, 1223, 2223 и перевести их в десятичную систему счисления:
5. Сколько единиц в двоичной записи десятичного числа 513?
1) 5 2) 2 3) 3 4) 4
Решение: 513=512+1 => 512=2 9 = 10000000002 => 513= 10000000002 +1=10000000012
6. Сколько значащих нулей в двоичной записи числа 254?
1) 1 2) 2 3) 4 4) 8
Решение: 254=255 — 1 => 255=2 8 -1=111111112 – 1=111111102
7. Для хранения целого числа со знаком используется один байт. Сколько единиц содержит внутреннее представление числа (-78)?
1) 3 2) 4 3) 5 4) 6
- переводим число 78 в двоичную систему счисления:
78 = 64 + 8 + 4 + 2 = 2 6 + 2 3 + 2 2 + 2 1 = 10011102
- по условию число занимает в памяти 1 байт = 8 бит, поэтому нужно представить число с помощью 8 разрядов, причем старший разряд — знаковый
- в прямом коде число будет представлено в виде:
110011102
- делаем инверсию битов (заменяем везде, кроме знакового разряда, 0 на 1 и 1 на 0) и получим число в обратном коде:
110011102 → 101100012
- добавляем к результату единицу и получим число в дополнительном коде:
101100012 + 1 = 101100102
- в записи этого числа 4 единицы
Ответ: 2 8. Запись числа 6710 в системе счисления с основанием N оканчивается на 1 и содержит 4 цифры. Чему равно основание этой системы счисления N? Решение 1: Начнем с двоичной системы. Для хранения числа 67 необходимо 7 цифр, т.к. 6410 в троичную систему. Но полный перевод делать не надо, т.к. нас интересует только первый остаток, на него и будет оканчиваться 67 в троичной системе. 67| 36 22 7 6 1 Остаток равен 1. Следовательно, и второе условие выполнено, поэтому троичная система подходит. Основание троичной системы равно 3. Ответ:3 Решение 2:Так как запись в системе счисления с основанием N заканчивается на 1, то остаток от деления числа 67 на N равен 1. Таким образом можно записать, что при некотором целом
:
Из последнего выражения видно, что N (основание системы счисления) является делителем числа 66. Делителями числа 66 являются следующие натуральные числа: 2, 3,6, 11, 22, 33, 66. Но нам известно, что запись числа содержит 4 цифры, то есть
Выпишем кубы и четвертые степени первых натуральных чисел, которые являются делителями числа 66:
Видно, что из этого списка только для числа N = 3 выполняется условие
. Таким образом, ответ – 3. Проверим это, переведя число 67 в троичную систему: 6710= 21113Ответ:3 9. Все 5-буквенные слова, составленные из букв А, О, У, записаны в алфавитном порядке. Вот начало списка: 1.ААААА 2.ААААО 3.ААААУ 4.АААОА …… Запишите слово, которое стоит на 240-м месте от начала списка. Решение: Из списка видно, что используются только символы: «А», «О», «У». Пусть «А»=0, «О»=1, «У»=2. Список после замены станет таким:
- 00000
- 00001
- 00002
- 00010
Видно, что это числа, идущие по порядку от нуля в троичной системе. В десятичной системе счисления список бы был таким: 0, 1 , 2, 3. Нам нужно найти, какое число будет стоять на 240 месте. Т.к. список чисел начинается с нуля, следовательно, нам нужно перевести число 239 в троичную систему счисления. Получим число: 222123. Переведем обратно в символы: УУУОУ. Ответ: УУУОУ 10. В таблице ниже представлена часть кодовой таблицы ASCII:
| Символ | 1 | 5 | A | B | Q | a | b |
| Десятичный код | 49 | 53 | 65 | 66 | 81 | 97 | 98 |
| Шестнадцатеричный код | 31 | 35 | 41 | 42 | 51 | 61 | 62 |
Каков шестнадцатеричный код символа “q” ? Решение: Q-A=81-65=16 => q-a=16 => q-97=16 => q=97+16=113 => 11310 =7116 113| 16112 7 1 Ответ: 71 11. Решите уравнение
. Ответ запишите в шестеричной системе счисления. Основание системы счисления указывать не нужно. Решение:Надо перевести все числа в десятичную систему, решить уравнение и результат перевести в шестеричную систему: 1) 
- из уравнения
получаем 
- переводим 15 в шестеричную систему счисления:

Ответ: 23 12. Запись десятичного числа в системах счисления с основаниями 3 и 5 в обоих случаях имеет последней цифрой 0. Какое минимальное натуральное десятичное число удовлетворяет этому требованию? Решение:если запись числа в системе счисления с основанием N заканчивается на 0, то это число делится на N нацело, поэтому в данной задаче требуется найти наименьшее натуральное число, которое делится одновременно на 3 и на 5, то есть это число15. Ответ:15 13. Укажите, сколько всего раз встречается цифра 2 в записи чисел 10, 11, 12, …, 17 в системе счисления с основанием 5. Решение (вариант 1):При решении задачи надо помнить, что в 5-ой системе счисления самая старшая цифра – 4. Запишем первое и последнее число в заданном диапазоне в системе счисления с основанием 5: 10 = 205, 17 = 325 . Оба они содержат цифру 2, так что, 2 цифры мы уже нашли. Между 205 и 325 есть еще числа: 215, 225, 235, 245, 305, 315. В них 5 цифр 2 (в числе 225 – сразу две двойки), поэтому всего цифра 2 встречается 7 раз. Ответ: 7 Решение (вариант 2): Можно перевести все указанные числа в систему счисления с основанием 5 и подсчитать количество 2: 10 = 205, 11 = 215, 12 = 225, 13 = 235, 14 = 245, 15 = 305, 16 = 315, 17 = 325 . Получается 7 штук. Ответ: 7 14. Укажите наименьшее основание системы счисления, в которой запись числа 30 трехзначна. Решение (вариант 1):Обозначим через
неизвестное основание системы счисления, тогда запись числа 30 в этой системе имеет вид:
Любое число в позиционной системе счисления можно представить в виде многочлена по основанию системы счисления:
По условию задачи запись числа трехзначная, т.е.
, поэтому:
Из неравенства видно, что подходят только два числа для N – 4 и 5: 
Минимальное из этих значений – 4. Ответ: 4 Решение (вариант 2):Так как число по условию трехзначное, то достаточно найти первое целое число, куб которого больше 30; это — 4, так как:
Так как
, следовательно, в системе счисления с основанием 4 запись числа 30 трехзначна. Ответ: 4 15. Укажите через запятую в порядке возрастания все десятичные числа, не превосходящие 30, запись которых в системе счисления с основанием 5 начинается на 3? Решение (вариант 1):Сначала определим, сколько цифр может быть в этих числах, записанных в системе счисления с основанием 5. Так как
, в интересующих нас числах может быть от 1 до 3 цифр. Трехзначные числа, начинающиеся на 3 в системе с основанием 5 можно представить:
Все они заведомо не меньше
, поэтому в наш диапазон не попадают. Таким образом, остается рассмотреть только однозначные и двухзначные числа. Есть всего одно однозначное число, начинающееся на 3, это 3. Общий вид всех двузначных чисел, начинающихся на 3 в системе с основанием 5:
, где
– целое число из множества (поскольку система счисления имеет основание 5 и цифр, больших 4, в записи числа быть не может). Используя эту формулу, находим интересующие нас двузначные числа – 15, 16, 17, 18 и 19. Ответ: 3, 15, 16, 17, 18, 19 Решение (вариант 2):Поскольку
, в интересующих нас числах может быть не более 2 цифр (все трехзначные пятеричные числа, начинающиеся с 3, больше 30). Есть всего одно однозначное число, начинающееся на 3, это 3. Выпишем все пятеричные двузначные числа, которые начинаются с 3, и переведем их в десятичную систему: 305= 15, 315= 16, 325= 17, 335= 18 и 345= 19. Ответ: 3, 15, 16, 17, 18, 19 16. Чему равно наименьшее основание позиционной системы счисления
, при котором 225x= 405y? Ответ записать в виде целого числа. Решение:Поскольку в левой и в правой частях есть цифра 5, оба основания больше 5, то есть перебор имеет смысл начинать с
. Для каждого «подозреваемого»
вычисляем значение
и решаем уравнение
, причем, нас интересуют только натуральные
. Для
и
нужных решений нет, а для
получаем
так что
. Ответ: 8 17. Даны 4 числа, они записаны с использованием различных систем счисления. Укажите среди этих чисел то, в двоичной записи которого содержится ровно 6 единиц. Если таких чисел несколько, укажите наибольшее из них. 1) 6310 * 4102) F816 + 1103) 33384) 111001112Решение:Нужно перевести все заданные числа в двоичную систему, подсчитать число единиц и выбрать наибольшее из чисел, в которых ровно 6 единиц. Для первого варианта переведем оба сомножителя в двоичную систему: 6310 = 1111112 410 = 1002 В первом числе ровно 6 единиц, умножение на второе добавляет в конец два нуля: 6310 * 410 = 1111112 * 1002 = 111111002 то есть в этом числе 6 единиц. Для второго варианта воспользуемся связью между шестнадцатеричной и двоичной системами счисления: каждую цифру шестнадцатеричного числа можно переводить отдельно в тетраду (4 двоичных цифры): F16 = 11112 816 = 10002 F816 = 1111 10002 после добавления единицы F816 + 1 = 1111 10012 также получаем число, содержащее ровно 6 единиц, но оно меньше, чем число в первом варианте ответа. Для третьего варианта используем связь между восьмеричной и двоичной системами: каждую цифру восьмеричного числа переводим отдельно в триаду (группу из трёх) двоичных цифр: 3338 = 011 011 0112 = 110110112 это число тоже содержит 6 единиц, но меньше, чем число в первом варианте ответа. Последнее число 111001112 уже записано в двоичной системе, оно тоже содержит ровно 6 единиц, но меньше первого числа Таким образом, все 4 числа, указанные в вариантах ответов содержат ровно 6 единиц, но наибольшее из них – первое Ответ: 1 18. Даны 4 целых числа, записанные в двоичной системе: 10001011, 10111000, 10011011, 10110100. Сколько среди них чисел, больших, чем А416 +208? 1) 1 2) 2 3) 3 4) 4 Решение:Надо перевести А416+208 в двоичную систему счисления, разложив их по тетрадам для 16-х чисел и по триадам для 8-х чисел: А416— 101001002и 208— 100002и поразрядно сложить: 101001002+ 100002= 101101002. Сравнив с заданными числами, видим, что только одно число больше полученного, это: 10111000. Ответ: 1 19. Найти сумму восьмеричных чисел 178 +1708 +17008 +. +17000008, перевести в 16-ую систему счисления. Найдите в записи числа, равного этой сумме, третью цифру слева. Решение:Несложно выполнить прямое сложение восьмеричных чисел, там быстро обнаруживается закономерность: 178+ 1708= 2078178+ 1708+ 17008= 21078178+ 1708+ 17008+ 170008= 211078178+ 1708+ 17008+ 170008+ 1700008= 2111078178+ 1708+ 17008+ 170008+ 1700008+ 17000008= 21111078 Переведем последнюю сумму через триады в двоичный код (заменяем каждую восьмеричную цифру на 3 двоичных): 100010010010010001112 Теперь разбиваем цепочку на тетрады (группы из 4-х двоичных цифр), начиная справа, и каждую тетраду представляем в виде шестнадцатеричной цифры 8924716 Третья цифра слева: 2. Ответ: 2 20. В системе счисления с некоторым основанием число 17 записывается в виде 122. Укажите это основание. Решение: Обозначим искомое основание системы счисления через x, тогда можно записать выражение: 17 = x 2 +2 x+2 или x 2 +2 x-15 = 0. Решив это уравнение, получим x=3. Ответ: 3
Проверить четность/нечетность числа не используя %
Похоже, что вопрос на понимание двоичного представления целого числа.
Например для представления типа byte используется 8 бит (8 числел в двоичной системе исчисления, которые могут принимать значение 0 или 1), соответственно :
000 = 0000 0000 001 = 0000 0001 002 = 0000 0010 003 = 0000 0011 . 126 = 0111 1110 127 = 0111 1111
Первый бит(здесь и далее буду считать слева) используется для хранения знака числа и будет использован для представления отрицательных чисел:
-001 = 1111 1111 -002 = 1111 1110 . -127 = 1000 0001 -128 = 1000 0000
Таким образом, для проверки четности числа можно проверить последний бит, если он равен 0, то число четное, иначе нечетное.
Как конкретно реализовать проверку — зависит от вашей фантазии:
// к типу long может быть неявно преобразован // любой целочисленный тип - преобразование безопасно public static boolean isOdd1(long input) < // для проверки нам нужен только один бит, все остальные // нужно приравнять к 0, для этого применим побитовое умножение // если число умножить на 0, получим 0 // если число умножить на 1, получим исходное число (0 или 1) // пример преобразования для byte (8 бит) // (XXXX XXXX) & (0000 0001) = (0000 000X) // в коде используется тип long, т.е используется 64 бита long filterMask = 1; // маска для фильтрации - аналог (0000 0001) long filteredInput = filterMask & input; // проверка результата - сравниваем X c 1 // где X может быть 0 или 1 соответственно // (0000 000X) == (0000 0001) boolean result = (filteredInput == 1); return result; // или одной строкой return (input & 1) == 1; >
Вот еще «плохой» пример (но работает):
public static boolean isOdd2(long input) < //получаем строку с двоичным представлением числа String stringRepresentation = Long.toBinaryString(input); // проверяем, что последний элемент равен 1 boolean result = stringRepresentation.endsWith("1"); return result; >
Еще несколько интересных моментов:
Побитовые операторы неявно преобразуют тип к int (или long если один из элементов long). Т.е. следующий код не скомпилируется
public static boolean isOdd3(byte input)
OddTester.java:ХХ: error: incompatible types: possible lossy conversion from int to byte byte filteredInput = filterMask & input; ^ 1 error
Побитовые операторы не поддерживают ускоренное вычисление
public static void shortTest() < String s = null; //s.equals("") не будет выполнено, т.к первое условие дало false if (s == null && s.equals("")); if (s == null & s.equals("")); //NPE >
Чётные числа в двоичной системе всегда оканчиваются на 0, а нечётные – на 1.
При выполнении арифметических операций в ЭВМ применяют специальные коды для представления чисел: прямой, обратный и дополнительный коды чисел.
Прямой код двоичного числа – это само двоичное число.
Обратный код положительного числа совпадает с прямым, а при записи отрицательного числа все его цифры, кроме цифры, изображающей знак числа, заменяются на противоположные (0 заменяется на 1, а 1 – на 0).
Пример: Дано число X=-1011. Перевести число в обратный код. Хобр=1.0100
Дополнительный код положительного числа совпадает с прямым, а код отрицательного числа образуется как результат увеличения на 1 его обратного кода.
Пример: Дано число X=-1011. Перевести в дополнительный код. Хдоп=1.0101
Варианты заданий с решением
1. Дано: , . Какое из чисел С, записанных в двоичной системе счисления, удовлетворяет неравенству ?
Решение: При переводе a и b в двоичное представление, получим: a = AA 16 =101010102 , b =2558 =101011012. Отсюда следует, что подходит значение 101011002,
Ответ: 4
2. Чему равна сумма чисел 718 и 1F16?
Решение: Надо представить числа в двоичном виде и поразрядно сложить:
718=1110012 каждая цифра в 8-ой системе представляется 3-мя битами, 1F16=111112 каждая цифра в 16-ой системе представляется 4-мя битами. (Представление 8-х и 16-х чисел в двоичном виде надо знать!)
Полученное двоичное число представим в 8-м и 16-м виде: 10110002=5816=1308 =8810.
Ответ: 4
3. Для передачи по каналу связи сообщения, состоящего только из символов А, Б, В и Г используется посимвольное кодирование: А-0, Б-11, В-100, Г-011. Через канал связи передается сообщение: ГБАВАВГ. Закодируйте сообщение данным кодом. Полученную двоичную последовательность переведите в восьмеричный код.
1) DBACACD 2) 75043 3) 7A23 4) 3304043
Решение: Заменяя в сообщении буквы на соответствующий код, получим следующую последовательность:
0111101000100011. Разобьем эту последовательность на триады справа налево: 111 101 000 100 011, представив каждую триаду в виде 8-го числа, получим: 75043
Ответ: 2
4. Укажите через запятую в порядке возрастания все десятичные числа, не превосходящие 26, запись которых в троичной системе счисления оканчивается на 22?
Решение: Для решения задачи достаточно рассмотреть следующие числа в троичной системе счисления: 223, 1223, 2223 и перевести их в десятичную систему счисления:
5. Сколько единиц в двоичной записи десятичного числа 513?
1) 5 2) 2 3) 3 4) 4
Решение: 513=512+1 => 512=2 9 = 10000000002 => 513= 10000000002 +1=10000000012
6. Сколько значащих нулей в двоичной записи числа 254?
1) 1 2) 2 3) 4 4) 8
Решение: 254=255 — 1 => 255=2 8 -1=111111112 – 1=111111102
7. Для хранения целого числа со знаком используется один байт. Сколько единиц содержит внутреннее представление числа (-78)?
1) 3 2) 4 3) 5 4) 6
1) переводим число 78 в двоичную систему счисления:
78 = 64 + 8 + 4 + 2 = 2 6 + 2 3 + 2 2 + 2 1 = 10011102
2) по условию число занимает в памяти 1 байт = 8 бит, поэтому нужно представить число с помощью 8 разрядов, причем старший разряд — знаковый
3) в прямом коде число будет представлено в виде:
4) делаем инверсию битов (заменяем везде, кроме знакового разряда, 0 на 1 и 1 на 0) и получим число в обратном коде:
5) добавляем к результату единицу и получим число в дополнительном коде:
6) в записи этого числа 4 единицы
8. Запись числа 6710 в системе счисления с основанием N оканчивается на 1 и содержит 4 цифры. Чему равно основание этой системы счисления N?
Остаток равен 1. Следовательно, и второе условие выполнено, поэтому троичная система подходит. Основание троичной системы равно 3.
Решение 2: Так как запись в системе счисления с основанием N заканчивается на 1, то остаток от деления числа 67 на N равен 1. Таким образом можно записать, что при некотором целом :
Из последнего выражения видно, что N (основание системы счисления) является делителем числа 66. Делителями числа 66 являются следующие натуральные числа: 2, 3,6, 11, 22, 33, 66.
Но нам известно, что запись числа содержит 4 цифры, то есть
Выпишем кубы и четвертые степени первых натуральных чисел, которые являются делителями числа 66:
Видно, что из этого списка только для числа N = 3 выполняется условие . Таким образом, ответ – 3. Проверим это, переведя число 67 в троичную систему: 6710 = 21113
9. Все 5-буквенные слова, составленные из букв А, О, У, записаны в алфавитном порядке. Вот начало списка:
Запишите слово, которое стоит на 240-м месте от начала списка.
Решение: Из списка видно, что используются только символы: «А», «О», «У». Пусть «А»=0, «О»=1, «У»=2.
Список после замены станет таким:
Видно, что это числа, идущие по порядку от нуля в троичной системе. В десятичной системе счисления список бы был таким: 0, 1, 2, 3.
Нам нужно найти, какое число будет стоять на 240 месте. Т.к. список чисел начинается с нуля, следовательно, нам нужно перевести число 239 в троичную систему счисления. Получим число: 222123. Переведем обратно в символы: УУУОУ.
Ответ: УУУОУ
10. В таблице ниже представлена часть кодовой таблицы ASCII:
| Символ | A | B | Q | a | b |
| Десятичный код | |||||
| Шестнадцатеричный код |
Каков шестнадцатеричный код символа “q”?
Решение: Q-A=81-65=16 => q-a=16 => q-97=16 => q=97+16=113 => 11310 =7116
11. Решите уравнение .
Ответ запишите в шестеричной системе счисления. Основание системы счисления указывать не нужно.
Решение: Надо перевести все числа в десятичную систему, решить уравнение и результат перевести в шестеричную систему:
2) из уравнения получаем
3) переводим 15 в шестеричную систему счисления:
12. Запись десятичного числа в системах счисления с основаниями 3 и 5 в обоих случаях имеет последней цифрой 0. Какое минимальное натуральное десятичное число удовлетворяет этому требованию?
Решение: если запись числа в системе счисления с основанием N заканчивается на 0, то это число делится на N нацело, поэтому в данной задаче требуется найти наименьшее натуральное число, которое делится одновременно на 3 и на 5, то есть это число15.
13. Укажите, сколько всего раз встречается цифра 2 в записи чисел 10, 11, 12, …, 17 в системе счисления с основанием 5.
Решение (вариант 1):
Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:
Определение четности числа в Python

Для того чтобы определить четное число введено или нет в Python необходимо воспользоваться оператором «Остаток деления» и написать условие.
Оператор вычисления остатка от деления
В языке программирования Python, также как и в других языках программирования, есть команда — оператор (%), который вычисляет остаток от деления на число. Приведем примеры:
4 % 2 >>>0 5 % 2 >>>1 20 % 10 >>>0 25 % 10 >>>5
При делении числа 4 на 2 — остаток 0. При делении числа 5 на 2 — остаток 1. При делении числа 20 на 10 — остаток 0. При делении числа 25 на 10 — остаток 5.
Определения четности числа с помощью оператора остатка от деления
Мы знаем, что при делении четного числа на 2 у нас в остатке остается 0. Поэтому для определения четного и нечетного числа можем воспользоваться оператором остатка от деления. Напишем для этого условие:
a = 5 if a % 2 == 0: print('Четное число') else: print('Нечентное число') >>> Нечетное число
В начале присваиваем переменной a число, четность которого хотим проверить. Далее пишем условие: если остаток деления переменной a на 2 равно 0, то вывести на экран «Четное число», в противном случае вывести «Нечетное число».
При запуске написанного кода, мы увидим «Нечетное» число.
Написание функции для определения четности числа
Можем написать функцию, которая на входе будет получать число, а на выходе выводить на экран «Четное число» или «Нечетное число» в зависимости от четности полученного числа.
def even_or_odd(a): if a % 2 == 0: print('Четное число') else: print('Нечентное число') even_or_odd(10) >>> Четное число even_or_odd(11) >>> Нечетное число
Разберем написанный код. В первой строке мы объявляем новую функцию. Назовем её even_or_odd. Функция на входе будет получать одно число. Далее она проверяет это число на остаток от деления на 2 и выводит на печать «Четное число» или «Нечетное число». Условие, которое написано в функции мы рассмотрели уже ранее.
Как видим, определить четность числа — это довольно простая задача, которая быстро решается с помощью оператора остатка от деления (%).