byte a=3;
byte c=a%2;
怎么不好用 应该怎么写 byte数据类型有什么特点 为什么需要转换成int

解决方案 »

  1.   

    byte是字节型数据,只能是0-255的数据,字节之间的运算有 与\或等,左移\右移等,没有算术运算.楼主要实现上面的功能,必须先转换为int,
      

  2.   

    byte表示0 到 255无符号 8 位整数
      

  3.   

    你直接写2,默认是int类型(Int32),所以需要转换成int
      

  4.   

    很抱歉,1楼有误,"字节之间的运算有 与\或等,左移\右移等,没有算术运算."是错误的,实验运行:
     
    byte a=2;
    byte b=3;
    byte c=b%2;和byte a=2;
    byte b=3;
    byte c=b%a;
    都提示同样的错误:无法将"int"隐式转换为byte,这就说明不论是int还是byte,在算术运算后都是int.其正确写法应该是:
    byte c =(byte)(3%2);
    byte c =(byte)((byte)3%(byte)2);
    ......