我想获取数字的二进制位置。
int val = 1 << 9;
Console.WriteLine(val); //512
我现在拥有的是相反的。我的值是512
,我想获取9
。
谢谢。
答案 0 :(得分:1)
要查找二进制对数,您可以明确地执行以下任一操作:
int value = 512;
...
int result = (int) (Math.Log(value) / Math.Log(2));
或通过简单的循环:
int value = 512;
...
int result = -1;
for (; value != 0; value /= 2, ++result);
Console.Write(result);
答案 1 :(得分:0)
Convert.ToInt32(String, Int32)可让您指定基数:
int output = Convert.ToInt32(input, 2);