以字节更改位值 [英] Change bits value in Byte

查看:145
本文介绍了以字节更改位值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在字段类型字节中有一些数据(我在字节中保存了8个输入,每个位都是一个输入)。
如何只更改该字段中的一个输入(字节),但不丢失其他信息(例如将第七位更改为一,或将第六位更改为零)?

I have some data in field type Byte ( I save eight inputs in Byte, every bit is one input ). How to change just one input in that field ( Byte) but not to lose information about others ( example change seventh bit to one, or change sixth bit to zero )?

推荐答案

将第七位设置为1:

b = (byte) (b | (1 << 6));

将第六位设为零:

b = (byte) (b & ~(1 << 5));

(位位置实际上是基于0的,因此这就是第七位映射到<的原因code> 1<<< 6 而不是 1<<< 7 。)

(The bit positions are effectively 0-based, so that's why the "seventh bit" maps to 1 << 6 instead of 1 << 7.)

这篇关于以字节更改位值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆