常见人家Byte(这里放一个变量),这样操作是得到一个Byte类型的数值吗?还有如果:
...
var A:integer;B:Byte;
A:=999;
B=Byte(A);
Showmessage(inttostr(B));//打印出来的会是一个溢出后的数据,这个数据是怎样算出来的呢?就是说Byte()这个函数怎么用的啊?我百度不到它的用法...

解决方案 »

  1.   

    byte是强制类型转换,不是函数
    b=Byte(A)等价于 b=a mod 256
      

  2.   

    Byte(A) 就是将A转换成二进制数,取其后8位,也就是一个字节
      

  3.   

    +1,integer(x)强制转换x成integer,pchar(s)强制转换s成pchar等等。
      

  4.   

    var
      buf : array[0..1] of byte;
      bus : array[0..3] of byte;
      function ByteToHex(InByte:byte):shortstring;
        const Digits:array[0..15] of char='0123456789ABCDEF';
      begin
        result:=digits[InByte shr 4]+digits[InByte and $0F];
      end;
      function BinArrayToString(aArray: array of Byte): string;
      var
        i: integer;
      begin
        result:='';
        for i:= Low(aArray) to High(aArray) do
        begin
          result:= result + ByteToHex(aArray[i]);
        end;
        Result:= IntToStr(StrToInt('$'+result));
      end;
    begin
      buf[0] := $01;
      buf[1] := $02;
      showmessage(BinArrayToString(buf));
      bus[0] := $00;
      bus[1] := $01;
      bus[2] := $02;
      bus[3] := $03;
      showmessage(BinArrayToString(bus));
    end;
      

  5.   

    类型强制转换呗,一般都是把一个Integer或double转为ByteArray