2014-03-26 57 views
4

十进制我有一个数组为这样:转换为从阵列

int[] fourbits = new int[4]; 
fourbits[0] = neuroninputs.input1; 
fourbits[1] = neuroninputs.input2; 
fourbits[2] = neuroninputs.input3; 
fourbits[3] = neuroninputs.input4; 

每个元素都包含一个二进制值。例如:

Console.WriteLine(fourbits[0]); 

输出1

我所试图做的是采取从这个阵列(1010)的每一个值和将它转换为十进制和打印这个值(10)。

+0

您知道可以用十六进制表示的最小值是一个8位的字节吗? – aevitas

+1

什么是异常被抛出? – leppie

+6

这个问题似乎是无关紧要的,因为它可能更适合[Code Review Stack Exchange](http://codereview.stackexchange.com/) – kei

回答

3

首先串连所有位到使用String.Join一个string,然后用Convert.ToInt32方法指定base参数:

var value = Convert.ToInt32(string.Join("", fourbits), 2); 

Console.WriteLine(value); 

注:您需要确保您的阵列只包含oneszeros在为了说明基本参数为2。否则,您将获得FormatException

+1

你可以使用'string.Concat(fourbits)',这有点简单。 – mellamokb