求对16进制数按2位2位的取反算法
求对16进制进去取反算法
我使用c 来实现。
#include
#include
using namespace std;
// 获取的vector是从低位开始取反的结果
vector negate_by_2bit(int num)
{
vector result;
int temp;
for (int two_bit = num & 0x03; num; num = num >> 2)
{
temp = two_bit;
temp = ~temp; ? ? ? ? ? ? ? ?//进行取反
temp &= 0x03; //过滤出无效的位(只保留低2位)
result。
push_back(temp);
}
return result;
}
void main()
{
//0x0A(1010) -> 01 01
vector result = negate_by_2bit(0x0A);
for (auto i : result)
{
printf("d ", i);
}
printf(" ");
#if _MSC_VER > 1200
printf("Press any key to exit。
。。 ");
getchar();
#endif
}。
去找专业数学老师?吧
设x为6位16进制数变量,lx为低两位数变量,mx为中两位数变量,hx高两位数变量,则:?lx=x&0xFF;?mx=x>>8&0xFF;?hx=x>>16&0xFF;
你猜,我也不知道
还是去请教老师吧
答:XDR是一种与机器无关的数据描述编码的协议,他以独立与任意机器体系结构的格式对网上传送的数据进行编码和解码,支持在异构系统之间数据的传送详情>>