Java - 二进制标志 vector

标签 java vector binary int

如果我被告知某个特定函数将返回二进制标志 vector (32 位 int 值),这意味着什么?你能举一个例子来证明这一点吗?

非常感谢。

最佳答案

一个三十二位整数可以被视为由三十二个一和零组成的 vector ,并且可以使用按位算术来提取各个位。

例如,如果 FLAG_FOO是一个常数,其值为 2 的幂 — 例如 1024 — 然后flag_vector & FLAG_FOO != 0确认特定位已设置。这是因为&是“按位与”;其计算结果为一个整数,当两个操作数的位均为 1 时,该整数的位为 1;当任一操作数的位均为 0 时,该整数的位为 0。例如,二进制00100110 &二进制1000001100000010 。 (显然,您使用的是 32 位整数,而不是 8 位整数。)

相反,“按位或”,| ,可以用来构造这样的值;例如,flag_vector = FLAG_FOO | FLAG_BAR | FLAG_BAZ将设置三位(标志)。

例如,这用于 the java.util.regex.Pattern class ,其静态 compile方法被重载以采用由此类标志组成的第二个参数。 Pattern.compile("a.c", CASE_INSENSITIVE | DOTALL)基于字符串 a.c 创建一个模式,启用“不区分大小写”和“. -代表任何字符,甚至换行”选项。

关于Java - 二进制标志 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9446084/

相关文章:

java - 如何在java中创建合成字段?

c++ - 当我们在现实生活中需要将二进制转换为十六进制时

Python 二进制字符串转 ASCII 文本

java - Flyway h2 postgressql 模式迁移不起作用

java - 使用 tomcat、struts2 和 eclipse 的 java web 应用程序上的 404 错误

c++ - 无法公开自定义 ctypedef 类的 cython vector

c# - 为双边移动统一镜像 Oculus Rift Controller 位置

vector - 初始化向量中的值

binary - Hadoop可以读取任意 key 二进制文件吗

java - 缓存实例在多大程度上用于公共(public) Float 和 Double 值?