java - 这个叫什么? (就像二进制文件一样,我认为呢?)

标签 java binary option flags

让我解释,

所以我有6个选项/标志,每一个都与一个2 ^ n的数字配对(出于某种原因提醒我使用二进制)


1-选项1

2-选项2

4-选项3

8-选项4

16-选项5

32-选项6


就我而言,我可以选择任意数量的选项,但要决定一个数字。

所以我要输入一个数字,并期望根据该数字调用不同的方法

一些例子:


3-选项1和选项2(1 + 2 = 3)

17-选项5和选项1(16 + 1 = 17)

46-选项6,选项4,选项3和选项2(32 + 8 + 4 + 2 = 46)

81-所有选项(32 + 16 + 8 + 4 + 2 + 1 = 81)


我希望有人以前使用过这种类型的东西,并且/或者可以将我引向任何资源。就我而言,我将使用Java,但我猜它会使用基本数学,因此可以将其翻译为任何语言。

有什么想法吗?

-AGK

最佳答案

boolean isSet(int mask, int bit) {
    return ((1 << bit) & mask) != 0;
}


例如,此方法将测试指定位置的单个位是否设置为true。 (如我错了请纠正我)

关于java - 这个叫什么? (就像二进制文件一样,我认为呢?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19200591/

相关文章:

java - 如何使用sql事务?

java - 如何将模块安装为服务 - Android

ruby-on-rails - 将图像文件保存到 Rails 中的数据库

Scala 元组选项

f# - 如何在 F# 中一般处理选项值

scala - 如何找到两个 Option[Int] 的 min() 或 max()

java - 一种递归算法,用于在总和为给定整数的数组中查找两个整数

java - 一个实体类映射几个表

c++ - 从二进制文件中读取对象

serialization - Erlang 二进制协议(protocol)序列化