Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Двоичный код числа


Автор: Гость_max 6.6.2005, 12:51
Здрасте,
можно ли как нибуть в BCB добраться до двоичного кода числа? Например если элемент масива равен (a[1] = 9), то его двоичный код 1001.

Автор: Дрон 6.6.2005, 14:45
Что значит добраться? Он и так есть smile

Проверить значение бита можно двоичными операциями:

Вот функция, возвращающая true, если n-ый (cчёт начинается с единицы) бит в числе val равен 1.
Код

bool getBit(int val, int n)
{
     return (val & (1<<(n-1))) != 0
}

Автор: Гость_max 6.6.2005, 15:48
Но этот код возвращает несовсем то, ведь дв. код 1 будет 0001, а в этом случае возвращается 1000. вот так. Или я чё то не понимаю.

Автор: Дрон 6.6.2005, 15:50
Просто общепринятая запись двоичного кода справа налево smile

Так что в коде 0001 единице равен как раз первый бит.

Автор: Гость_max 6.6.2005, 16:07
ясно, ну а если для решения конкретной задачи важен порядок записи дв. кода? Как можно решить эту проблему?

Автор: Дрон 6.6.2005, 16:14
Не совсем тебя понял.
Записывай в том порядке в каком хочешь, тот пример что я привёл вообще никакого отношения к записи не имеет.

Автор: Гость_max 6.6.2005, 16:22
Чё то запарился я, спасибо большое, усё работает

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)