怎么把一个INT分成两半来用?就是前面的bits存一个数,后面的bits存一个数?
C#有没有左移、右移、按位与、按位或这些操作?

解决方案 »

  1.   

    有位移操作呀。
    int i = 32;
    int j = 23;
    int k = (j << 16 ) || j;
      

  2.   

    j < < 16 的结果是j*2^16?
      

  3.   

    <<左移
    >>右移
    |或
    &与
    ^异或
    ~ 按位求补
      

  4.   

    在.NET中int可不是2个bit的...而是4个bit...还有位移操作...这些都是基础...随便一本入门书都会讲到...当然还是MSDN最权威...
      

  5.   

    晓得啊,我说的是  前面的bits  后面的bits  啊,有s的,嘿嘿
      

  6.   

    为什么要这样做?为什么不用两个short?给个理由先...
      

  7.   

    int x = 0x12345678;
    int h = x >> 16; // 获取高16位数据 = 0x00001234
    int l = x & 0x0000FFFF; // 获得低16位数据 0x00005678
      

  8.   

    那个问题一个byte就解决了...用int太浪费...ps:用C#研究这种问题属于浪费时间...
      

  9.   

    哦...上面出了个低级错误...int不是4个bit,是4个byte,32个bit...
      

  10.   

    用C#研究这种问题属于浪费时间??
    why??
      

  11.   

    如vrhero所说,用byte即合理有合法