Вы можете попробовать
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 МБ.Вы можете даже прийти к выводу, что не стоит одного простого изменения кода, если только он не экономит 2 ГБ дискового пространства.: P