Целочисленная конкатенация C ++ - PullRequest
1 голос
/ 31 января 2012

У меня есть целое число в C ++ и три переменные.Я хочу поместить первую двоичную цифру в первую переменную, вторую - во вторую, а остальные - в третью.

Есть идеи, как это сделать?

Ответы [ 2 ]

3 голосов
/ 31 января 2012

Предполагая 32-битные значения:

unsigned int val = ...;
unsigned int a, b, c;

a = val & (1U << 31); // = 10000000 00000000 00000000 00000000
b = val & (1U << 30); // = 01000000 00000000 00000000 00000000
c = val & 0x3fffffff; // = 00111111 11111111 11111111 11111111
0 голосов
/ 31 января 2012

Это на самом деле немного похоже на домашнюю работу по кодированию для меня.Несмотря на то, какую цифру вы хотите получить, основная идея состоит в том, чтобы разделить эту переменную на 1, 10, 100 и т. Д. И сохранить результат как целое число, а затем получить его остаток, разделив его далее на 10/10. ПРИМЕР: 578/10 ->57,8 -> 57 -> 57% 10 -> 7 .

Для кодирования просто DIY.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...