私はこのドキュメントを読んでいました: http://www.fadden.com/techmisc/hdc/lesson11.htm
その中で彼は次のように述べています。
問題は、これらの長さが分からないことです。したがって、最初に見た単項コーディングで長さをエンコードします (わかりやすくするためにコロンを追加しています)。
value binary coding 1 1: 2 01:0 3 01:1 4 001:00 5 001:01 16 00001:0000 64 0000001:000000 256 000000001:00000000
このメソッドは実際には、floor(log i) のゼロの後に 1 が続き、その後に先頭の 1 を除いたバイナリ コードが続きます。これは、次のように、データ ビットにゼロを散在させることができることを意味します。
value binary coding 1 1 2 001 3 011 4 00001 5 00011 16 000000001 64 0000000000001 256 00000000000000001
これは同じ長さですが、単純なシフト ルーチンで実装できます (アセンブリ: 左にシフトし、キャリーが設定されている場合は終了し、そうでない場合は次のビットを形成中の整数にシフトします)。
このアセンブリ シフトとは正確には何ですか? また、可逆性はありますか?
組み立てシフトのアニメーションは素晴らしいでしょう。ありがとう