求好的思路跟算法 hex取值

求好的思路和算法 hex取值
本帖最后由 kijl000 于 2011-03-25 15:41:18 编辑
随机输入一个16进制数字m,通过函数输出n个2进制下校验和为1的数组,并能满足n1+n2+...=m;:例如0x05,需要通过程序后输出 0x01 ,0x04.

给出解答1:



arg[]={0x01;0x02;0x04;0x08;0x10;0x20;0x40;0x80};
for(i=0;i<8;i++)
{
  n = m&arg[i];
  if(n)
    output(n);
  else
    continue;
}




求高效稳定算法。
------解决方案--------------------
“通过函数输出n个2进制下校验和为1的数组”

这句话是什么意思?

什么叫校验和为1的数组?
------解决方案--------------------


while(i<8)
{
    n = m&arg[i];
    if(n)
    outpur(n);
    else
     i++;
}