java byte 赋值问题

Python025

java byte 赋值问题,第1张

首先  0xa9的值是 169   所以 a=169-127-128=-86  因为有0的位置  ,所以是-87

下面  Byte.decode,查看源码便可以知道

转成了integer,也就是 169  ,下面判断了 是否 在 -128到 127之间,很明显 ,不在 ,所以报错 !

位运算啊! 自己写个方法 /**对位赋值操作 参数: CtrlF:控制标志位(我觉得你应该是这个意思。) index:需要复制的标志位位置 value:需要付给的值 */ public void setCtrlF(byte CtrlF,int index,byte value){ if(value<0||value>1){ return//出错,赋值非0,1。如果想要优雅点,你应该在这里抛出自己的异常。 } value<<index//value左移index位 CtrlF= CtrlF ^ value//异或value }