Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.219.236.62] |
|
Сообщ.
#1
,
|
|
|
Как известно, в C/C++ целочисленные литералы бывают трех видов: восьмеричные, десятичные и шестнадцатеричные.
Но если немного подумать, то можно получить и двоичные литералы вида 10110100. Найдите этот способ. Какова может быть максимальная длина этих литералов? P.S. У кого есть интересные задачки - пишите мне в приват. Чтобы не было двух активных задачек. |
Сообщ.
#2
,
|
|
|
Уточняющий вопрос - что понимается под "получить двоичные литералы"? Это запрет на использование макросов/функций или как?
|
Сообщ.
#3
,
|
|
|
Сообщ.
#4
,
|
|
|
AQL задачку испортил.
Мог бы просто промолчать. Или ссылку не давать. Добавлено в : Ну что ж, будем еще чего-то придумывать. |
Сообщ.
#5
,
|
|
|
Задачки-то конкретнее ставить нужно. В условиях задачи не сказано, что она должна быть решена обязательно при помощи макросов. На мой взляд, практичнее такую задачу решать при помощи такой конструкции:
DWORD BinConvert( char * s ); // Функция преобразует строку в двоичное число. #define BIN(X) BinConvert(#X) Результат тот же самый только ограничений меньше, например, на длину литералов. |
Сообщ.
#6
,
|
|
|
Тут просто непонимание.
Целочисленный литерал - это не строка в широком понимании. Это число, обрабатываемое компилятором. |
Сообщ.
#7
,
|
|
|
Цитата trainer @ 19.03.04, 20:49 AQL задачку испортил. Мог бы просто промолчать. Или ссылку не давать. Добавлено в : Ну что ж, будем еще чего-то придумывать. Считай что я её решил |