python - 在 Python 中读取最低有效位

标签 python bit-manipulation syslog

我必须在 Python 中解析系统日志消息的设施和严重性。这些值作为单个整数随每条消息一起提供。事件的严重性是 0-7,在整数中的 3 个最低有效位中指定。从数字中评估这 3 位的最简单/最快的方法是什么?

我现在的代码只是右移 3 位,然后将该数字乘以 8,然后从原始结果中减去结果。

FAC = (int(PRI) >> 3)
SEV = PRI - (FAC * 8)

必须有一种不那么复杂的方法来执行此操作 - 而不是清除位和减法。

最佳答案

SEV = PRI & 7
FAC = PRI >> 3

就像那样。

关于python - 在 Python 中读取最低有效位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4822130/

相关文章:

python - 如何从用户输入的 float 中删除一组字符 - Python

python - 我应该使用 Perl 还是 Python 进行网络监控?

python - SQLAlchemy 会清理原始 SQL 吗?

c++ - 如何使用 std::vector<bool> 进行文件 I/O?

log4net - Log4net:SysLog Appender示例

python - 遍历值或注册表项.. _winreg Python

c - 使用位掩码获取页码和 C 中以 10 为基数的偏移量

c++ - 是否有任何理由更喜欢使用有符号或无符号整数来表示位列表?

ubuntu - 将特定日志从 systemd 服务重定向到单独的文件不起作用

linux - 如何将 tail 与 syslog 文件环绕一起使用?