问题标签 [bitflags]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
bit-manipulation - 位标志问题
我有一系列位标志,用于订购类似的东西{none=0x00, puppies=0x01, kittens=0x02, cute=0x04, funny=0x08, scary=0x10}
。
每当用户进行搜索时,我只是|=
他们希望的每个标志,例如,如果用户想要一些可爱的小猫,我只会search |= cute
和search |= kittens
。
然而,当我执行搜索操作时,通过循环并检查该项目所在的所有项目(flag & search) != 0
,它会返回具有可爱属性或小猫的项目。我怎样才能改变它,让它返回可爱的属性和小猫?
c - 如何在c中格式化标志?
假设有标志定义,例如:
给定一个标志,我需要输出SHF_WRITE|SHF_ALLOC
位0x1
和0x2
是否打开。
如何在 C 中实现技巧?
c - iOS 中 flags 结构的用途是什么?
- 这个结构的目的是什么?
:1
每行末尾的符号是什么意思?unsigned
没有显式类型时修饰符的含义是什么?
谢谢
c++ - 如何在 unsigned int 上使用位标志以便在其中存储额外的 bool 值
我在游戏中使用代表一堆飞机的无符号整数。每架飞机都有两种状态,飞行和停飞。我想将此状态与飞机编号一起存储。实现这一目标的“最佳”方法是什么?我可以将 std::maps 与飞机及其状态一起使用,但这似乎有点矫枉过正而且速度很慢。可以使用位标志来完成吗?测试的分配和测试应该很快。
伪代码:
任何关于简单快速技术的提示都值得赞赏!
c# - 使用标志方法扩展枚举?
我找到了关于如何创建扩展方法以从按位枚举中读取单个值的好例子。但是现在 C# 4 添加了 HasFlag 方法,它们真的不需要了。
我认为真正有用的是对设置单个标志的扩展!
我有很多情况需要单独设置标志值。
我想要一个带有这个签名的扩展方法:
或者可能:
bit-manipulation - 确定有符号溢出(x86 溢出/辅助标志)
首先:我真的试图为此找到一个匹配的答案,但我只是没有成功。
我目前正在开发一个小的 8086 模拟器。我还没有弄清楚如何计算溢出和辅助标志最适合加法和减法。
据我所知,辅助标志符合溢出标志,但仅使用 4 位,而溢出标志使用整个大小。因此,如果我添加两个有符号的 1 字节整数,OF 将检查 1 字节有符号溢出,而辅助标志只会查看两个整数的低 4 个字节。
是否有任何通用算法或“神奇的按位运算”来计算 4,8 和 16 位加减法的有符号溢出?(我不介意用什么语言写的)
备注:我需要在内部将值存储在无符号变量中,所以我只能使用无符号值或按位计算。
一种适用于加法和减法的解决方案可能是在计算完成后检查“符号标志”(或辅助标志的第 4 位)是否发生了变化?
提前致谢!
php - php中函数的二进制标志
今天是个好日子。
我试图找出一种在不增加参数数量的情况下为函数使用多个标志的方法。
例如像这样使用它 some_func(flag1|flag2|flag3);
现在我这样做了
它会提示标志 2 和 3 已打开。
所以,一切正常。但是...我敢肯定有更好的方法来做到这一点...对吗?所以,问题 - 我怎样才能让它变得更好?我确信有一种适当的方法来实现这样的东西。
c# - 如何读取与数据混合的位标志?
我以前从未想过阅读二进制数据。我现在正在尝试学习,并制作一个简单的应用程序来从 FLAC 文件中读取标题数据并以人类可读的格式显示信息。
首先,假设我感兴趣的数据的第一位是 0x10000100,我如何使用 C# 读取第一位 (1),然后读取存储在后续 7 位中的 int 值?我已经知道如何使用 binaryreader 将字节读入字节数组......只是不知道如何在代码中解析这些数据。
提前致谢。
java - Java和MySQL中布尔变量的位标志
我只想从一系列布尔变量中创建一个位标志,这样我就可以将一个变量存储在 MySQL 数据库中,而不是几个布尔值。例如,我有三个布尔标志(A、B、C)并希望根据布尔标志的值创建一个位标志。我认为这会起作用,但我猜有更好(或更清晰)的方法来做到这一点:
我不知道为什么我找不到任何关于这个的东西,也许是因为我做错了或者没有使用正确的术语..
并且要选择 B=true 的所有条目,我会使用它吗?