2009-11-28 110 views
-1

請指導我如何將該輸入轉換爲decimal.tq。如何將字節轉換爲小數?

BF C2 FF 12 
65 E4 EE 
17 BF C2 64 F2 41 84 11 
C1 C4 38 41 14 10 C1 04 10 49 04 18 41 06 72 B5 FF 
17 BF C2 64 72 
41 84 11 C1 85 19 C1 07 17 7D C2 5F 3D 5E FD DE 57 FD 10 E1 94 30 B5 FF 
17 BF C2 FF 12 
65 CC 76 
17 BF C2 FF 12 
69 FC 77 
+2

什麼語言是您使用? – 2009-11-28 15:08:08

+1

十六進制到十進制轉換(反之亦然)是理解更基本的概念之一。如果你可以做二進制轉換,那麼不是base-2,而是base-16。超越這個概念是完全相同的。谷歌十六進制到十進制轉換,或在維基百科上閱讀關於十六進制/基本-16。 – 2009-11-28 15:16:18

+0

爲什麼第一個3位數? 217 – YOU 2009-11-28 15:22:16

回答

1

如果你有Windows打開計算器,並去查看科學。然後,您可以一次將小部分代碼轉換爲一組。

要做到這一點,你除以16,直到你得到零,然後你結合餘數。

0

你應該告訴我們你的輸入和想要的輸出格式。 我假設你有一個名爲「input」的字符串變量中的數據,並希望它作爲字節數組。

Dim input As String = IO.File.ReadAllText("C:\data.txt") 
Dim output As Byte() = input.Split(" ").Select(Function(b) Convert.ToByte(b, 16)).ToArray 

編輯:

For Each part As String In IO.File.ReadAllText("C:\data.txt").Split(" ") 
    If part.Trim.Length > 0 Then 
     Dim number As Integer = Convert.ToInt32(part, 16) 
     Console.Write(number & ",") 
    End If 
Next 
+0

我有這個數據在C:\ data.txt – 2009-11-28 15:50:50

+0

好吧解決了這個問題。輸出仍然是Byte(),因爲你對此沒有提及。 – 2009-11-28 16:14:14

+0

在C:\ data.txt輸入,我輸出爲控制檯 – 2009-11-28 16:20:17

0
Dim input As String = "BF C2 FF 12 65 E4 EE 17 BF C2 64 [...]" 
For Each s As String In input.Split(" "c) 
    Dim value As Integer = Convert.ToInt32(s, 16) 
    Console.Write(value & " ") ' Or whatever else you want to do with the converted data 
Next 
+0

什麼類型的C?整數或字符? – 2009-11-28 16:17:58

+0

我不明白你的問題。 ''「」c「表示空格字符(C#中的''''),而不是'」「',這意味着:包含空格的字符串(C#中的''」'')。 – Heinzi 2009-11-28 16:22:28

+0

澄清:'''「c'中的'c'不是一個變量,而是一個語法元素(*字面類型字符*),請參閱:http://msdn.microsoft.com/en-us/library/ s9cz43ek%28VS.80%29.aspx – Heinzi 2009-11-28 16:27:43