64,682
社区成员
发帖
与我相关
我的任务
分享
//将一个数组的内容复制到另一个数组
int *source=arr1;
int sz=sizeof(arr1)/sizeof(*arr1);//计算出源数组大小
int *dest=new int[sz];
while (source != arr1+sz)
{
*dest++=*source++;
}
//“简洁即是美”程序员应该尝试编写简洁的表达式
//Normal Binary --> Gray Binary
struct Gray_Encoding
{
const unsigned long long operator()
(
const unsigned long long v
) const
{
return v ^ ( v >> 1 );
}
};
//Gray Binary --> Normal Binary
struct Gray_Decoding
{
const unsigned long long operator()
(
unsigned long long v
) const
{
v ^= v >> 32;
v ^= v >> 16;
v ^= v >> 8;
v ^= v >> 4;
v ^= v >> 2;
v ^= v >> 1;
return v;
}
};
//Normal Binary --> Gray Binary
struct Gray_Encoding
{
const unsigned long long operator()
(
const unsigned long long v
) const
{
return v ^ ( v >> 1 );
}
};
//Gray Binary --> Normal Binary
struct Gray_Decoding
{
const unsigned long long operator()
(
unsigned long long v
) const
{
v ^= v >> 32;
v ^= v >> 16;
v ^= v >> 8;
v ^= v >> 4;
v ^= v >> 2;
v ^= v >> 1;
return v;
}
};