【发布时间】:2015-09-08 17:06:09
【问题描述】:
我正在制作一个程序,我必须阅读大约。单个文件 4,140,000 字节 4mb(每天要读取数百个文件,我将它们存储在 byte[] 数组中)。这些字节中的每一个都必须转换为二进制,以便我可以在位级别访问它们。目前,当程序每次需要访问一个字节时,它都会调用一个函数,通过执行以下行将arr[byteIndex]转换为二进制字符串:
return binary.Append(Convert.ToString(arr[byteIndex], 2).PadLeft(8, '0'));
该函数被调用了数百万次。我想让程序运行得更快。我可以用于时间优化的最佳方法/程序是什么。
【问题讨论】:
-
一个字节已经是二进制值了
-
是的,但是当我访问它时...例如 FF,它会给我“F”而不是“11111111”,这就是为什么我必须将它转换为二进制字符串
-
你知道
&和|吗?位访问不需要其他任何东西。 -
我不明白...请详细说明
-
您询问如何让您的程序运行得更快。不要对字节的字符串表示进行操作,要么使用按位逻辑对所需的位进行操作,要么使用类似于数据结构的位集:stackoverflow.com/questions/8144349/…
标签: c# arrays optimization type-conversion