私はCを使用しており、6種類のコマンド番号を0〜5とし、3つを組み合わせて1つのバイトとして保存します。だから問題はどうやってこれらの数字をエンコードすることができるのだろうか?たとえば、バイナリエンコーディングを使用して5が101である場合、101101101が9ビットで1バイトが8であるため、555を保存できません。 ご協力いただきありがとうございます。3つの数値データを1バイトで圧縮する
-1
A
答えて
8
3桁のベース6の数として3つの数字を扱い、その値を計算する:
value = num1 * 36 + num2 * 6 + num3
num1 = value/36
num2 = (value/6) % 6
num3 = value % 6
それはバイトに収まるように、値は、215の範囲0であろう。
関連する問題
- 1. 4バイトの浮動小数点データを1バイトに圧縮
- 2. SharpZipLib:1つのファイルを1つの圧縮ファイルに圧縮する
- 3. 8個の数値(0-3)を2バイト未満に圧縮することはできますか?
- 4. Flex 3「圧縮解除後764バイト」を隠すトレースステートメント
- 5. 数値の圧縮アルゴリズム
- 6. データ圧縮と画像圧縮の差
- 7. データ圧縮スキーム、数学
- 8. 複数のビデオクリップをプログラムで1つのビデオファイルにマージ&圧縮
- 9. QueryStringの約1000バイトのテキストを圧縮
- 10. LZWデータ圧縮
- 11. データ圧縮ビデオチュートリアル?
- 12. データ圧縮モデル
- 13. WebSocketデータ圧縮
- 14. PNG圧縮バイト配列をBMPバイト配列に変換する
- 15. boost :: iostream zlib複数のファイルを1つのアーカイブに圧縮
- 16. DNS圧縮ポインタの例オフセット> 12バイト
- 17. 1つのバイトの整数データ型
- 18. HTTP POSTデータをいつ圧縮するのですか?
- 19. Common Lispでデータを圧縮するストリームインターフェイス
- 20. postgresql tcpデータ圧縮
- 21. HTTP/2データ圧縮
- 22. データ圧縮HTTP 1.1
- 23. JavaでGZIPを使用してバイト配列を圧縮する
- 24. C#でバイト[]を圧縮(および解凍)する方法は?
- 25. Firebaseのデータを圧縮する
- 26. クエリ内のデータの圧縮
- 27. データ圧縮の方法
- 28. 最後の2バイトを圧縮してエンコードする文字列
- 29. Nodejsでzlibを使用したデータの圧縮と圧縮解除
- 30. 透明なSQLiteデータ圧縮
これはできません。可能なコンボの数(343)は256を超えます。 –
6つのシンボルを表すには少なくとも3ビットが必要です。したがって、1つのバイトに3つの異なるシンボルを表すことはできません。 – user0042
0-5、6記号のシンボル – zpwpal