给byte的不同bit段赋值

LazyCat2222 2010-01-26 09:26:36
需要给一个byte的低四位赋值,请问如何赋值。。
...全文
595 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
LazyCat2222 2010-01-26
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 bayougeng 的回复:]
先把这个值转换成10进制的int。
上面有位兄台说:& 0x0X
这个应该是可以的。
但是这个转换后得到的还是一个int。你得再转回byte。
[/Quote]

嗯。。有点了解这个意思了,我先试试,谢谢!
LazyCat2222 2010-01-26
  • 打赏
  • 举报
回复
求低四位是可以通过 &0x0F 获得, 一一得一,其他得零。
n = m& 0x0F ,n 就是要得到的低四位。
hsf_1982 2010-01-26
  • 打赏
  • 举报
回复
BCD码中需要获取高4位及低4位,分别代表两个数。
我的解决方法是采用移位运算::<<(左移)、>>(右移)
右移四位即可获得高4位的数字,而将移出的数字作X2,并求和,就是低四位。
低四位的求法不是太好,如有改进也请分享一下。
bayougeng 2010-01-26
  • 打赏
  • 举报
回复
先把这个值转换成10进制的int。
上面有位兄台说:& 0x0X
这个应该是可以的。
但是这个转换后得到的还是一个int。你得再转回byte。
smartcatiboy 2010-01-26
  • 打赏
  • 举报
回复
可以用bitset
LazyCat2222 2010-01-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 bao110908 的回复:]
赋什么值?
[/Quote]

假色我得到一个 1010,这个也是我拼成的一串字符了,String str ="1010";
这样一个值,但是这个值是要给一个Byte中的低四位的。

请问我要怎么把这个值保存到这个byte的低四位中呢。
bayougeng 2010-01-26
  • 打赏
  • 举报
回复
是啊是啊,低4如何保存呢。
  • 打赏
  • 举报
回复
赋什么值?
whereusejava 2010-01-26
  • 打赏
  • 举报
回复
用与或非
xietingyan 2010-01-26
  • 打赏
  • 举报
回复
& 0x0X
pauliuyou 2010-01-26
  • 打赏
  • 举报
回复
byte rs = 0;
String input = "1010";
rs = Byte.parseByte(input,2);

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧