bit-masks

    1热度

    1回答

    我有一个先前由其他人建立的ACL系统,我想了解位掩码如何在那里工作。我已经这4个常数来定义: const NONE = 0; const READ = 1; const WRITE = 2; const UPDATE = 4; const DELETE = 8; 在DB我看到用户与像1的权限,2,5,9 然后,15我曾尝试使用this tool转化它们,我结束了这样的结果: 0 //

    0热度

    1回答

    我stat()“荷兰国际集团这个符号链接(在Kubuntu的GNU/Linux的16.04),和我越来越0100600八进制(33152十进制)的怪异值。如果我按位,并且它与S_IFMT(它是0170000八进制),我得到0600八进制。那是什么意思? stat.h列出了以下值: /* File types. */ #define __S_IFDIR 0040000 /* Directory.

    2热度

    3回答

    我想知道如何删除位值中的位。 我收到一个10位的值(位0到位9),我必须发送一个忽略接收值的位0,位2,位4和位6的变量,那么我的变量将是:位987531。我能怎么做 ?我听说过屏蔽位我真的不知道如何使用它,即使我知道面具将0x55的 谢谢你帮我

    0热度

    1回答

    我有一个关于位掩码的问题,我完全不知道。 在应用程序中,目前有采取地址字节[]的方法,并从中确定哪些警报(布尔型)是true的false。 我期待扭转这一点。我会有一个属性列表(布尔),并基于哪些是真实的,我会创建一个地址。 是否有一个简单的内置方法来做到这一点? 任何帮助将不胜感激。下面我附上了我的代码,以获取地址中启用了哪些标志。 public struct DeviceStatus {

    0热度

    1回答

    在我的游戏中,我有具有不同颜色的圆圈。他们应该只碰撞不是他们的颜色的边界。 要做到这一点,我首先分配正常的圈子类别位掩码。 struct CollisionCategoryBitmask { static let monster: UInt32 = 00000001 static let picker: UInt32 = 00000010 static let bou

    44热度

    6回答

    只见代码here下面一行中C. int mask = ~0; 我已打印的mask在C和C++的值。它始终打印-1。 所以我有一些问题: 为什么到面具变量分配值~0? ~0的用途是什么? 我们可以用-1代替~0吗?

    0热度

    1回答

    好,所以我的问题是我必须“进程”从一个端点响应的大整数。这是一个散列,我必须做一些掩码和位移以便以可读的方式查看这些数据(它是一个版本:主要版本,次要版本,内部版本等)。 在C#我随便写几行这样做处理: /// Endpoint data ulong data = 567454918934921216; ulong major = (version & 0xFFFF000000000000L

    0热度

    2回答

    一个32位寄存器,即status_reg具有1个字段(field_1 < 0:31>)。为了设置和清除这个寄存器,我试图获得这个寄存器的掩码值。所以一般以获得掩码值的计算公式为: mask = ((~(~0 << (hbit-lbit+1))) << lbit) 在这种hbit较高位置位即31而LBIT较低位置比特i.e.0。 我期待mask值应该是0xFFFFFFFF。但是得到掩码= 0.任

    0热度

    1回答

    所以我即将在C语言程序中完成大学课程。 我想在位操作(如创建口罩)更好,所以我会去给它: #define BIT_I_SET(TYPE,I) ((TYPE)(1) << (I)) #define SET_BIT(NUM,I,TYPE) \ NUM |= BIT_I_SET(I,TYPE) 我仍然在早期阶段,学习此刻的语法,我不知道为什么编译器说,有一个错误: 严重性代码描述项目文

    3热度

    1回答

    我目前正在写在迅速一场比赛,我试图让使用协议来定义的东西,如章节和水平等 所以一个章节可能具有以下结构: protocol Chapter { var title:String {get} var levels:[Level] {get} var choices:[OptionSetType] } 每个章节由多个级别组成,每个级别只有在某些'选择'