能否帮我将以下代码用delphi重写一下?急,谢谢int write_com(unsigned char Add, unsigned int *Point)
{
int ret;
unsigned char buffer[4];
unsigned char aa;
unsigned char bb;buffer[0] = (((*Point)&0x00F0)/0x10)+(((*Point)&0x000F)*0x10);
buffer[1] = ((((*Point)/0x100)&0x00F0)/0x10)+((((*Point)/0x100)&0x000F)*0x10);aa = buffer[0]>>4; //High byte
bb = buffer[0]<<4; //Low byte
buffer[0] = aa|bb;
aa = buffer[1]>>4;
bb = buffer[1]<<4;
buffer[1] = aa|bb;
ret = 0;
}有一个地方不知怎么处理 ((*Point)/0x100)&0x00F0 ,前面一步运算出来不是整型就不能再作位运算了。
{
int ret;
unsigned char buffer[4];
unsigned char aa;
unsigned char bb;buffer[0] = (((*Point)&0x00F0)/0x10)+(((*Point)&0x000F)*0x10);
buffer[1] = ((((*Point)/0x100)&0x00F0)/0x10)+((((*Point)/0x100)&0x000F)*0x10);aa = buffer[0]>>4; //High byte
bb = buffer[0]<<4; //Low byte
buffer[0] = aa|bb;
aa = buffer[1]>>4;
bb = buffer[1]<<4;
buffer[1] = aa|bb;
ret = 0;
}有一个地方不知怎么处理 ((*Point)/0x100)&0x00F0 ,前面一步运算出来不是整型就不能再作位运算了。
(*Point)/0x100 一个Int型的数除以 0x100不是有可能出小数吗?另外
一个Int 类型的数 与 0x00F0 做 & 运算结果不就是0x00F0?, 如果不是应该是什么?
Int 是32位还是16位?
vc 的 / 运算应用于整数时是不是取整除?