gpt4 book ai didi

c# - 高效的十六进制操作

转载 作者:太空宇宙 更新时间:2023-11-03 20:39:40 26 4
gpt4 key购买 nike

我有一个由十六进制值表示的字节数组,这些是持续时间。数据可以转换为整数值并乘以一个常数以获得时间。数据的解码将作为一系列十六进制字符串保存到文件中。什么是处理十六进制值的有效方法?


我一直在研究处理数据格式时的性能问题,因为我必须在不同阶段(计算、数据显示等)处理不止一种格式。大多数示例显示了从 byte[] 到十六进制字符串(“1A 3C D4”)的转换,反之亦然,但我一直在寻找替代方法,即转换为 Int16 并使用 char[] 数组。

最佳答案

您没有表示十六进制值的字节数组。您有一个表示数字 的字节数组。您表示数字的基数仅在您表示数字时才有意义

换句话说:如果您认为字节数组代表十进制整数,您认为它会有什么不同?如果我用英尺和英寸而不是米来表示高度,我的高度会有所不同吗?

现在,如果您尝试表示 16 位数字,我建议使用字节数组是个坏主意。请改用 ushort[]short[],因为它们 16 位值。如果您在将数据放入这样的数组中时遇到问题,请提供详细信息......同样,如果您在操作方面遇到任何其他问题。请注意,在您将数据写成文本之前,就计算机而言,实际上并没有关于它位于哪个基数的概念。

(请注意,这对于浮点值是不同的,其中数据在小数和 double 之间确实是不同的,例如......在那里,表示的基础是数据格式。它不适用于整数。或者,您可以将所有整数视为二进制,直到您决定将它们格式化为文本...)

关于c# - 高效的十六进制操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3632991/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com