gpt4 book ai didi

int - C# 3 字节整数

转载 作者:行者123 更新时间:2023-12-03 18:09:35 24 4
gpt4 key购买 nike

我正在做一个项目,我需要在字节级别处理整数。由于节省空间是首要考虑因素,我只需要非常小的(和可变长度的整数)。

有没有办法可以将 int '4096' 转换为 3 个字节?或 '1053' 成 2 个字节?

显然我可以手动执行 = (byte[0] * 256) + (byte[1]),但我想知道是否有更简单的选项可以将 int 转换为 x 字节并再次返回?

最佳答案

你可以吗?当然。它会节省任何空间吗?也许,取决于你想做多少工作。您必须了解处理器是 32 位的,这意味着它有 4 个字节的寄存器,这就是它想要存储和访问事物的方式。要强制使用 3 字节“int”,您必须将其保存在字节数组中,并在使用前将其从数组中提取到对齐的地址。这意味着如果你把它存储得很短,编译器要么把它填满(你会失去你认为你创造的任何效率),要么它的读写速度会慢很多。

如果这是一个桌面应用程序,那么节省空间究竟是一个主要考虑因素,尤其是在每个元素 1 个字节时?元素访问的性能损失可能会改变您对一个字节的重要性的看法。

我会争辩说,如果那个 1 字节真的很重要,那也许,只是也许,你使用了错误的语言。首先,如果我不安装和使用 CLR,您将节省的字节数是很多字节。

旁注:你也会做一个转变,而不是一个乘法(尽管编译器可能会帮你)。

关于int - C# 3 字节整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/445749/

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