int a = 60000;
怎样把a转换成2个字节,就是byte
确切的说就是把int型转换成字节数组
60000 => {0xEA,0x60}
这样。

解决方案 »

  1.   

    int是Int32的,转成4个字节才行,Int16的可以转成两个字节
      

  2.   

    UInt16 a = 60000;
                byte[] bb = new byte[2];
                byte* b = (byte*)&a;
                bb[0] = *(byte*)(b+1);
                bb[1] = *(byte*)b;
      

  3.   

    60000当int类型就是4个字节(0x0000EA60),当UInt16才是两个字节(0xEA60)
      

  4.   

    int a = 60000;
    byte[] bytes = BitConverter.GetBytes(Convert.ToUInt16(a));
    Console.WriteLine(bytes[0]);
    Console.WriteLine(bytes[1]);结果:60
         ea
    不知道对楼主的问题理解正确了没
      

  5.   

    int i = 60000;
                short s =  *(short*)&i;
                s = IPAddress.NetworkToHostOrder(s);
                b = (byte*)&s;
                bb[0] = *(byte*)b;
                bb[1] = *(byte*)(b + 1);
      

  6.   

    Johnnyxy(风里密码) ( ) 信誉:87  2006-04-06 14:57:00  得分: 0  
     
     
       int a = 60000;
    byte[] bytes = BitConverter.GetBytes(Convert.ToUInt16(a));
    Console.WriteLine(bytes[0]);
    Console.WriteLine(bytes[1]);结果:60
         ea
    不知道对楼主的问题理解正确了没
      
     
    为什么我这里输出的是
    96
    234
      

  7.   

    还有一个问题
    怎么把一个手机号码转换成:6个字节.每字节2位BCD码, 不足6个字节的在前边补0
    ?
      

  8.   

    Console.WriteLine(bytes[0].ToString("X");
      

  9.   

    了解,还有一个问题有没有人知道的,能不能说说,或者说
    BCD码的字节数组怎么创建?
      

  10.   

    学习,.net 有十进制到二进制的函数吗??