我有一个字符数组,我试图按位右移>>
,然后&
与另一个数组。我想我对如何做到这一点有错误的想法。char的按位移数组
我想,即使它是个字符只是陈述my_array >>= 1
的阵列将转移的一切,但我得到了一个错误:"error: invalid operands to binary >> (have ‘char[8]’ and ‘int’)"
按位比较,我试图做的是开始对所有类似大小的数组“0”...因为我得到:"error: invalid operands to binary & (have ‘char *’ and ‘char *’)"
我需要将这些数组转换成别的东西,然后才能转移和比较吗?
对不起,我不是很清楚......所有伟大的建议,直到现在,我认为我越来越意识到,没有超级简单的方法来做到这一点。更具体地说,我想要做的是将WHOLE char数组的右侧位移1,将右移后的位添加到数组的左侧,并与另一个相同大小的数组进行按位比较。
从技术上说,比较并不一定要用数组排列......我只需要这些位。在尝试进行移位/比较之前将数组转换为其他数据会更容易吗?
你想旋转数组的内容,还是试图按位移动数组中的每个单独的元素?这两种操作本身都不存在于C语言中。您需要编写一个循环,将每个元素复制到一个位置,或者逐位移动数组中的每个元素。 – chrisaycock 2012-04-28 21:27:17