2012-05-20 42 views
0

我的意思是如何將我的十六進制值轉換爲biginteger?如何將十六進制值轉換爲biginteger?

例如我使用此:

string value="A1"; 
BigInteger bi=new BigInteger(value,16); 

BI = 161;這是真的?那麼如何將它轉換回「A1」?

感謝..

+2

有點困惑其中的BigInteger您使用具有此構造 – meandmycode

+1

@ErsinGülbahar的BigInteger實施 - 你得到的答案是關於.NET 4.0框架庫中的'System.Numerics.BigInteger'。你在使用不同的嗎?如果是這樣,哪一個(請鏈接)。 – Oded

+0

在你的[最後一個問題](http://stackoverflow.com/questions/10624815/how-can-i-use-bigint-with-c)4個答案推薦使用.NET框架庫中的'BigInteger'。你爲什麼不使用它? – Oded

回答

2

String.Format支持這一點:

String.Format("0:x", 161); 

工作例如:

 string value="A1"; 
     BigInteger bi = BigInteger.Parse(value, NumberStyles.HexNumber); 
     string newVal = string.Format("{0:x}", bi); 
     //newVal is a1 

UPDATE: 以上建議適用於在System.Numerics命名空間中的.NET

+0

我該如何使用它? –

+0

@ErsinGülbahar我已經添加了一個工作示例(.NET4) –

+0

我沒有Parse方法。 ? –

1

到的BigInteger轉換回十六進制字符串,你可以這樣做:

string value= bi.ToString("X"); 
+0

這是錯誤的我。像這樣:'BigInteger.ToString(int)'的最佳重載方法匹配有一些無效的參數 –

1

ToStringBigInteger被覆蓋:

bi.ToString("X") 
+0

這是錯誤的我。像這樣:'BigInteger.ToString(int)'的最佳重載方法匹配有一些無效參數 –

+0

@ErsinGülbahar - 你在哪裏找到一個需要'int'的重寫?發佈您正在嘗試的_exact_代碼。此外 - 停止發佈完全相同的評論給所有回答的人。這很煩人。 – Oded

相關問題