在C中,如何检查是否使用XOR设置了一个位?
发布时间:2020-12-16 10:09:01 所属栏目:百科 来源:网络整理
导读:我在面试时问了这个问题. 假设我必须检查第3位: a=0x9004; 我说过的 if((a1315)^1==1) printf("bit 3 is not set"); else printf("bit 3 is set"); 但我觉得这不是他们想要的. 解决方法 if ((unsigned int )a ^ (0x4) (unsigned int )a) printf("bit 3 is s
我在面试时问了这个问题.
假设我必须检查第3位: a=0x9004; 我说过的 if((a<<13>>15)^1==1) printf("bit 3 is not set"); else printf("bit 3 is set"); 但我觉得这不是他们想要的. 解决方法if ((unsigned int )a ^ (0x4) < (unsigned int )a) printf("bit 3 is set"); else printf("bit 3 is not set"); 如果设置了第3位(0x4),则^ 0x4将是较小的算术值,然后是a. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |