c – 从二进制数中获取最后5个二进制位?
发布时间:2020-12-16 10:44:01 所属栏目:百科 来源:网络整理
导读:我有一个二进制数字(例如111001001).我想获得最后5位数(01001).我怎样才能做到这一点?我想将每个数字存储到arrray然后用for循环获取值.但还有更好的方法吗? 解决方法 您可以通过屏蔽获得最后5位: x = x 0x1f; 如果你想处理这些位中的每一位,那么你可以在
我有一个二进制数字(例如111001001).我想获得最后5位数(01001).我怎样才能做到这一点?我想将每个数字存储到arrray然后用for循环获取值.但还有更好的方法吗?
解决方法
您可以通过屏蔽获得最后5位:
x = x & 0x1f; 如果你想处理这些位中的每一位,那么你可以在一个循环中单独测试它们,例如 for (i = 0; i < 5; ++i) { if (x & (1 << i)) // if bit i is set { // do something for bit i = 1 } else { // do something else for bit i = 0 } } (注意:在这种情况下不需要先屏蔽.) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |