gpt4 book ai didi

java - 关于创建非标准大小的字节组的非常简单的问题

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

因此对于一个空间非常重要的项目,我希望能够将一个占用三个字节的数字写入文件。所以本质上,一个无符号类型,其中 16,777,215 是可能的最大数字。

数字以无符号整数形式给出,我已经检查以确保它在 0 到 16,777,215 之间。我该如何超越呢?

首选 Java 代码,但 ANSI C 也可以。谢谢!

最佳答案

你可以试试

int number = 
OutputStream os =
os.write(number >> 16);
os.write(number >> 8);
os.write(number);

阅读

InputStream is = 
int number = ((is.read() & 0xFF) << 16) | ((is.read() & 0xFF) << 8) | (is.read() & 0xFF)

但是,考虑到一个字节的成本如此微不足道,您必须节省大量字节才能使增加的复杂性变得值得。我只是将它包含在这里供您引用。

2 TB of disk space is worth about $100
1 GB is worth about 5 cents
1 MB is worth about 0.005 cents
1 KB is worth about 0.000005 cents.
1 B is worth about 0.000000005 cents.

相比之下,最低工资,(你可能更看重你的时间)

1 minute of your time, 12 cents. ~2 GB.
1 second, 0.2 cents. ~40 MB.
1 key, 0.2 seconds, 0.04 cents ~8 MB.
1 blink. 0.05 seconds, 0.01 cents ~2 MB.

这提出了一个相当令人不安的建议,即不值得按一个键来节省少于 8 MB。您甚至可能得出这样的结论:除非它节省 2 GB 的磁盘空间,否则不值得更改一个简单的代码。 :P

关于java - 关于创建非标准大小的字节组的非常简单的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4418835/

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