Tag: 位掩码

在C#中获取整数的上下字节并将其作为char数组发送到com端口,如何?

CI会这样做 int number = 3510; char upper = number >> 8; char lower = number && 8; SendByte(上部); SendByte(低级); 上下都是= 54 在C#中我这样做: int number = Convert.ToInt16(“3510”); byte upper = byte(number >> 8); byte lower = byte(number & 8); char upperc = Convert.ToChar(upper); char lowerc = Convert.ToChar(lower); data = “GETDM” + upperc + lowerc; comport.Write(data); 但是在调试器编号= […]

从uint32获取特定位

我有一个像3238844000这样的UInt32变量。 现在我想得到这个数字的前两位和前两位后的6位。 这两个位都应该是int。 Decimal: 3238844000 Binary: 11000001000011001101011001100000 ^^ 和 Decimal: 3238844000 Binary: 11000001000011001101011001100000 ^^^^^^

通过c#中的位掩码存储多个值

我试图通过位掩码在32位int中存储四个独立的5位值(0-31)但是在设置正确的值时遇到问题并从用于存储的掩码int中获取各个值。 谁能帮我这个? 编辑: 对不起外部链接 – 这里有一些JavaScript演示了我想要实现的目标(但是在位掩码而不是十进制代数中): var s = 0; var v = [31, 6, 23, 31]; //save values s = v[0] + (v[1] * 32) + (v[2] * 1024) + (v[3] * 32768); console.log(s); //retrieve values v[3] = parseInt(s / 32768); v[2] = parseInt((s – (v[3] * 32768)) / 1024); v[1] = parseInt((s – […]

如果位掩码包含位,我该如何检查?

我不太了解整个bitmask概念。 假设我有一个面具: var bitMask = 8 | 524288; 我不知道这是我如何组合8和524288 ,得到524296 。 但是,我该如何走另一条路? 如何检查我的位掩码,看它是否包含8和/或524288 ? 为了使它更复杂,让我们说我的位掩码是18358536 ,我需要检查8和524288是否在该位掩码中。 我到底怎么做?