请问:
  
  我想把2004放到两个byte型的数组里,
  第一个放20,第二个放04。但是操作的时候,这个04的0 就没有了,
 怎么才能把0也保留下来, 
和4放在一起做为一个byte存在?
听别人说可以用XOR,但是,怎么和2004运算得到高位和低位的数据呢?谢谢!

解决方案 »

  1.   

    Dim aa As Byte
    aa = "04"
    Text1.Text = Format(aa, "0#")
      

  2.   

    Byte 中的 04 就是 4。它的内存中的表示是 00000100。至于所谓 10 进制 4,实际上是系统将其转换成字符串形式在界面上显示用的。而其转换规范就是要去除前导 0。为什么要放在数组里?用整数保存不好吗?
      

  3.   

    另外,即使没有零也无妨:Dim intYear As Integer
    Dim strYear As String
    intYear = byte(0) * 100 + byte(1)
    strYear = CStr(intYear)
      

  4.   

    不用这么钻牛角尖吧,byte是数字型的,如果存放在其中的数字小于10的话前面如果有零会自动被去掉(因为没有必要把加在前面的零也保存起来,其他数字类型也一样),所以不必考虑其中是两位还是一位,只要在哪出来的时候进行format(byte1(0),"0#")就可以了.
      

  5.   

    晕,存成integer不就是两字节啦你要非想存成byte,可以一个byte里存2004\255,另一个里2004 and 255,这样不就是两个byte了嘛,以后想要2004,把这两个byte合起来转成一个integer?hex(2004 \ 255)
    7
    ?hex(2004 and 255)
    D4
    ?&H7D4
     2004