c# int to binary(string) to array
本文关键字:to array string binary int | 更新日期: 2023-09-27 18:12:43
我正在学习c#,我想知道整数中的第3位是1还是0。
那么我是如何处理它的,将整型转换为二进制。然后将字符串转换为数组。将string类型的数组转换为int类型的数组,在第3位切片并检查值
我不能让这事发生。这就是我所处的位置。我使用这个例子从SO转换到数组
using System;
using System.Text;
class Expression
{
static void Main()
{
int number = 3;
string binValue = Convert.ToString(number, 2);
char[] array = binValue.ToCharArray();
array<int> list = new List<int>();
for (int i = 0; i < array.Length; i++)
{
list.add(value);
}
int[] binArr = list.ToArray();
binArr[2] == 1? "Yes" : "No";
}
}
这是完全错误的做法;只执行二进制运算:
bool bit3IsSet = (number & 4) != 0;
,其中4
为位3;你也可以使用:
int bitNumber = 3; // etc
bool bitIsSet = (number & (1 << (bitNumber-1))) != 0;
您不需要数组转换:使用String.Substring()
函数(re: http://msdn.microsoft.com/en-us/library/system.string.substring%28v=vs.110%29.aspx)来检查第三位的值(在您的情况下:binValue.Substring(2,1)
;在一个简短的形式可以写成如下:
bool _bit3 = (Convert.ToString(number, 2).Substring(2,1)=="1")? true:false;