2016-03-01 7 views
0

, у нас есть массив int, который содержит случайные 32 числа (1 и 0), и нам нужно перенести его на целочисленное число с поразрядным способом, как я могу это сделать с поразряднымПобитовая операция Элементы массива C# (0-1), переносящие в целое число

Я сделал это без поразрядного использования с использованием метода Math.Pow (2, j), но как сделать его побитовым?

+0

Пожалуйста, объясните, что вы подразумеваете под «побитовое» - это звучит например, у вас есть одно решение, но по какой-то причине не хотите его использовать. –

+0

double num = 0; Array.Reverse (числа); для (int j = 0; j Pozitron

+0

Хорошая вещь, которую вы спросили, я вижу, что слишком сильно взломать. – harold

ответ

1

Если вы можете использовать оператор сдвига влево (<<), вы можете сделать что-то вроде этого:

int number = 0; 
int[] bits = new int[32]; 

for (int i = 0; i < 32; i++) 
    number |= bits[i] << i; 

<< оператор работает как Math.Pow(2, j);

+0

спасибо, что я догадываюсь – Pozitron