关于十进制矩阵按照二进制分解成分解矩阵的求助
例如矩阵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;
}