BYTE lo;
     int s = 10;
    lo=LOBYTE(s);
这个取低字节的函数怎样分隔高低字节,举例说一下结果好吗?
比如说上面的s,是否先转成16进制?然后高位和低位各是什么值?
为什么好象取低位的值,比如上面的lo,和s值是一样的?

解决方案 »

  1.   

    此函数的原型是BYTE LOBYTE(WORD wValue );
    其参数应该为WORD型。
    int s = 10转换为WORD型后s = 00000000 00001010(B)
    取其中的低字节就是后8位00001010(B)还是10(D)
      

  2.   

    字型变量有两个字节,此函数用于取一个字型(word)变量的低字节,若一个字型变量小于256,那么取得的结果与变量相同,但类型不一样。
      

  3.   


    #define LOBYTE(w)           ((BYTE)(w))
    #define HIBYTE(w)           ((BYTE)(((WORD)(w) >> 8) & 0xFF))