Dan*_*ker 5 c# algorithm math integer bit-manipulation
我一直试图解决这个问题,但不能只用整数运算和按位运算符.但是,我认为它可能并且应该相当容易.我错过了什么?
问题是:得到一个任意长度的整数值(这与问题无关),其中X的最低有效位设置为1,其余的设置为0.例如,给定数字31,我需要得到一个整数值等于0x7FFFFFFF(31个最低有效位为1,其余为0).
当然,使用一个循环或者将移位的1换算为整数X次将完成这项工作.但这不是我正在寻找的解决方案.它应该更方向(X << Y - 1),因此不使用循环.