需要对一个向量实施比特翻转操作,如x=[1,0,1,1] 把它的每一个元素的下标用二进制表示,例如第1个元素的下标为00,第2个下标为01,第3个为10,第4个为11,然后将二进制的下标翻转,例如下标为01时翻转为10,即比特位的第一位和最后一位调换,第二位和倒数第二位调换,以此类推。这样第一个元素的下标还是00,第二个变成10,第三个变成01,第四个还是11,这样第二个和第三个元素的位置就调换了,比特翻转操作后的x为[1,1,0,1]
x = [1 0 1 1]
bitrevorder(x)
结果:[1,1,0,1]