2014-03-26 61 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