function IntToBin( N: Int64; L: Byte): String;
var
  i: Int64 ;
  j: Byte ;
begin
  Result := '' ;
  i := N ;
  for j := 1 to L do
  begin
    Result := Result + Chr( i mod 256 ) ;
    i := i div 256 ;
  end ;
end ;我自己转换是这样的,代码完成了一些别的功能,只是帮我看下,这样转换后的代码是不是运算正确的。
特别是上面那个Chr( i mod 256 ),VB里面应该转成什么?
Private Function IntToBin(N As String, ByRef bytes() As Byte, s As Integer, L As Integer) As String
    Dim Result As String
    Dim i As Long
    Dim j As Byte
    
    Dim tmp As String
    Result = ""
    i = CLng(Val(N))
    For j = s To s + L - 1 Step 1
        bytes(j) = ChrW(i Mod 256)
        Result = Result & bytes(j)
        i = i \ 256
    Next j
    
    IntToBin = Result
End Function

解决方案 »

  1.   

    楼主你这哪是转换,我看你改的和原意区别不小嘛.
    老实说,看不明白你原来那个函数,把数值变量转换为一个不能显示的字符串有啥用处.
    你写的VB代码,不应把String和Byte变量这样直接&,你就这样就行了:
    Result = Result & ChrW(i Mod 256)
      

  2.   

    使用 Hex 把 int 变成 16 进制字符串。
    每个字符对应一个4位的二进制形式。