关于十进制矩阵按照二进制分解成分解矩阵的求助
例如矩阵A=[11,12 我想按照他们的二进制排成8个新矩阵 分别是 11,12,13,14 的二进制13,14]
数的第一位到第8位 但是我只能用最笨的方法手动分解。。。 不知道那位大虾可以帮帮我
附:我用了matlab的bitget函数 但是无法做到自动提取 只能一位一位的手动提取
谢谢谢谢啊~~~~
#include "stdio.h" typedef struct _array { int arr[4]; }array; void type_array(array data); void set_array(array base,array *data,int index); int main() { array base; array data[8]; int i; for(i = 0; i < 4; i++) base.arr[i] = 11 + i; type_array(base); for(i = 0; i < 8; i++) { set_array(base,&data[i],i); type_array(data[i]); } } void type_array(array data) { putchar('\n'); printf("%d\t%d\n",data.arr[0],data.arr[1]); printf("%d\t%d\n",data.arr[2],data.arr[3]); } void set_array(array base,array *data,int index) { int temp; int i; temp = 1 << index; for(i = 0; i < 4; i++) data->arr[i] = (base.arr[i] & temp) >> index; }