有没有比使用A=xlsread('marksdata.xlsx');
我将在循环中运行它:
Convert.ToString(byte,2)
答案 0 :(得分:0)
通过将代码移出循环来创建一个可以比每次运行代码更快地编制索引的数组,您可以在每次函数调用期间节省时间。 (显然,这不是更快的base-2转换,因为它使用相同的代码进行转换。)
Private Shared SevenBitZeroPaddedBinary = Enumerable.Range(0,128) _
.Select(Function(i) Convert.ToString(i,2).PadLeft(7,"0"c)) _
.ToArray()
Function varintbinaryToint(b() As Byte) As Integer
Const b127 As Byte = 127
Dim sb = New Text.StringBuilder
For i = b.Length - 1 To 0 Step -1
sb.Append(SevenBitZeroPaddedBinary(b(i) And b127))
Next
Return Convert.ToInt32(sb.ToString, 2)
'--to binary 1100 0100 0001 0110
'--remove msb 100 0100 001 0110
'--reverse 001 0110 100 0100
'--join 101101000100
'--bin 2 int 2884
End Function
答案 1 :(得分:0)
我查看了Convert.ToString(byte,int)的源代码
它调用Native实现,所以我猜它的速度和我们一样快:
ParseNumbers.IntToString((int)value, toBase, -1, ' ', ParseNumbers.PrintAsI1)
此处的源代码:http://referencesource.microsoft.com/#mscorlib/system/parsenumbers.cs,9d6624da44b02e1f
国:
**类:ParseNumbers
**目的:解析数字和字符串的方法。
**所有方法都以原生方式实现。