110,502
社区成员
发帖
与我相关
我的任务
分享
public static IEnumerable<int> GetBit16Low1(int value)
{
for (int i = 15,t=1<<i,r= (value | t) == value ? 1 : 0; i >=0; i--,t=t>>1, r = (value | t) == value ? 1 : 0)
yield return r;
}
当然一般情况下,你要写成这样,估计是要挨骂的,反正我要看见这个codereview我是不给过,我得把人喊进小黑屋让他自己解释到底想干嘛,解释不了。扣绩效是跑不了的
public static IEnumerable<int> GetBit16Low1(int value)
{
int t = 1;
for (int i = 15; i >=0; i--)
{
var t1 = 1 << i;
if ((value | t1) == value)
yield return 1;
else
{
yield return 0;
}
}
}
static async Task Main(string[] args)
{
int i=3;
var res = GetBit16Low(i).ToList();
}
public static IEnumerable<int> GetBit16Low(int value)
{
short i = (short) value;
BitArray bitArray=new BitArray(BitConverter.GetBytes(i));
for (int j = bitArray.Length-1; j >= 0; j--)
{
yield return Convert.ToInt32(bitArray[j]);
}
}
int[] arr = Convert.ToString(3, 2)
.PadLeft(Marshal.SizeOf(a) * 4, '0')
.ToCharArray()
.Select(ss => int.Parse(ss.ToString()))
.ToArray();