os7960
?>

Сос даны два целых числа a и b, где 1 ≤ b ≤ a ≤ 109. необходимо вычислить результат s, выполнив последовательно следующие действия: переведите числа a и b в двоичную систему счисления допишите слева к числам a и b ведущие нули так, чтобы в них стало по 32 двоичных цифры в числе b замените все ноли на единицы, а единицы – на ноли вычислите s как следующую сумму: s = a + b + 1 если в числе s оказалось больше 32 двоичных цифр, то оставьте только 32 младшие цифры, а лишние цифры слева сотрите переведите s в десятичную систему счисления и выведите в ответ рассмотрим пример. пусть a = 5, b = 3. в двоичной системе a = 101, b = 11. допишем нули: a = 101, b = 11 инвертируем все цифры во втором числе: b = 00 вычислим s = a + b + 1 = 110. в числе s оказалось 33 цифры, поэтому отбросим первую: s = 10. переводим в десятичную систему: s = 2. пример входные данные 5 3 выходные данные 2

Информатика

Ответы

elyashatdinova
1. Определим количество возможных символов в одном разряде номера.
Поскольку используется 22 буквы и 10 цифр, то в сумме получается 32 символа.
2. Определим количество бит, необходимых для кодирования набора из 32 символов. Если считать, что символы кодируются цифрами от 0 до 31, потребуется log_232=5 бит.
3. Определим количество байт, которое займет один номер.
В номере 7 символов, поэтому для его кодирования нужно 7х5=35 бит. В байте 8 бит, тогда для размещения 35 бит потребуется 35/8 ≈ 5 байт (округляем до целых всегда в большую сторону).
4. Определим объем памяти, отводимый для записи 50 номеров.
50х5=250 байт.

ответ: 250 байт. (вариант ответа 3)
ilonchick679
Десятичных цифр, как все знают, 10 :) 
(от 0 до 9)
значит, на месте каждого из 7 знаков может стоять любой из 22+10=32 символов. тогда по формуле один символ займет логарифм по основанию 2 от 32 = 5 бит. (5 мест, на каждом из которых стоит один бит - 1 либо 0, этого хватит как раз на 2^5=32 символа) 
тогда на номер 7*5 = 35 бит. один байт = 8 бит. 35/8 не делится нацело, надо подобрать минимальное, чтобы делилось (это 40). значит на 1 номер приходится 40/8=5 байт. ну а на 50 номеров 5*50=250 байт. 
Стало быть, ответ: 3

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Сос даны два целых числа a и b, где 1 ≤ b ≤ a ≤ 109. необходимо вычислить результат s, выполнив последовательно следующие действия: переведите числа a и b в двоичную систему счисления допишите слева к числам a и b ведущие нули так, чтобы в них стало по 32 двоичных цифры в числе b замените все ноли на единицы, а единицы – на ноли вычислите s как следующую сумму: s = a + b + 1 если в числе s оказалось больше 32 двоичных цифр, то оставьте только 32 младшие цифры, а лишние цифры слева сотрите переведите s в десятичную систему счисления и выведите в ответ рассмотрим пример. пусть a = 5, b = 3. в двоичной системе a = 101, b = 11. допишем нули: a = 101, b = 11 инвертируем все цифры во втором числе: b = 00 вычислим s = a + b + 1 = 110. в числе s оказалось 33 цифры, поэтому отбросим первую: s = 10. переводим в десятичную систему: s = 2. пример входные данные 5 3 выходные данные 2
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Alekseeva_Khlistov
Lerkinm
lpcck2212
baxirchik
Ирина-Макаркина253
Yuliya_Viktoriya316
is0019
kattarina71
krtatiana69
superkiosk249
klykovav672
impuls20125948
veraplucnika
ikalabuhova
sashakrotova943