У меня есть массив символов, которые я пытаюсь поразрядно сдвинуть вправо >>
, затем &
с другим массивом. Я думаю, что у меня есть неправильное представление о том, как это сделать.Побитовое смещение массива char
я подумал, несмотря на то, что это был массив символов просто констатирует my_array >>= 1
перенесет все, но я получаю сообщение об ошибке: "error: invalid operands to binary >> (have ‘char[8]’ and ‘int’)"
Поразрядный Comparision Я пытаюсь сделать это с таким же массивом размера инициированного для всех «0» ... для этого я получаю: "error: invalid operands to binary & (have ‘char *’ and ‘char *’)"
Нужно ли мне преобразовать эти массивы во что-то еще, прежде чем я смогу сдвинуть и сравнить?
Извините, я не был предельно ясен ... Весь большой совет до этого момента, и я думаю, что понимаю, что нет супер простого способа сделать это. Более конкретно, то, что я пытаюсь сделать, это сдвинуть биты массива WHOLE char 1, добавив бит, сдвинутый с правой стороны влево на большую часть массива, поразрядное сравнение с другим массивом того же размера.
Технически сравнение не обязательно должно быть массивом с массивом ... Мне просто нужны биты. Было бы проще преобразовать массив в нечто другое, прежде чем пытаться выполнить сдвиги/сравнения?
Вы пытаетесь повернуть содержимое массива или пытаетесь побитовое смещение каждого отдельного элемента массива? Ни одна из этих операций изначально не существует в C. Вам нужно будет написать цикл, который либо копирует каждый элемент в одно местоположение, либо побитовое смещает каждый элемент в массиве. – chrisaycock