問題タブ [bits]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
3990 参照

python - Pythonは、文字列でエンコードされた12ビット画像を8ビットpngに変換します

USB 遠地点カメラから読み取られる文字列があります。これは 12 ビット グレースケール イメージで、それぞれ 12 ビットが 16 ビット ワードの下位 12 ビットを占めています。最下位 4 ビットを無視して、この文字列から 8 ビットの png を作成したいと考えています。

PILを使用して、最上位4ビットが常にゼロである16ビット画像に変換できます

とにかく、文字列を完全にアンパックして演算を行い、新しい文字列を作成することなく、8 ビット イメージを作成するために同様のことを行うことはできますか?

編集:画像の変換に関するWumpsのコメントは私にアイデアを与えてくれました。

ありがとう

0 投票する
2 に答える
3316 参照

c++ - バイトへのビットの挿入

バイトからビットを読み取る例を見ていましたが、実装はシンプルで理解しやすいように見えました。誰かがバイトまたはバイト配列にビットを挿入する方法の同様の例を持っているかどうか疑問に思っていました。これは理解しやすく、以下の例のように実装するのも簡単です。

バイトからビットを読み取る例を次に示します。

これが私がやろうとしていることです。これは私の現在の実装です。ビットマスキング/シフトなどと少し混乱しているだけなので、私がやっていることをより簡単に行う方法があるかどうかを調べようとしています

0 投票する
2 に答える
1210 参照

c++ - バイナリ入力スチームからC++ビットセットを設定します

バイナリファイルからの入力ストリームがあります。ストリームの最初の5ビットのビットセットを作成したいと思います。これが私がこれまでに持っているコードです:

0 投票する
5 に答える
10177 参照

javascript - 数値を表すビット数

Javascript の制限 (2^53)-1 よりも小さい正の整数のビット数を返す関数を作成しようとしています。ただし、精度の問題に見舞われており、大きな整数ライブラリを避けたいと考えています。

方法 1:

方法 2:

どちらの方法も精度の問題に失敗すると思います。

0 -> 2^53-1 の間の数値で機能する代替方法を誰かが提案できますか

ありがとう。

0 投票する
5 に答える
324 参照

operating-system - 32ビット/64ビットシステムに関する質問

まず、これは何と呼ばれていますか?これはシステムの「プラットフォーム」ですか?システムが32ビットか64ビットかを知りたい場合、それがどの「プラットフォーム」であるかを尋ねますか?

次に、私が以下に書いたものは正しいです:

-64ビットプロセッサは、64ビットオペレーティングシステムまたは32ビットオペレーティングシステムを実行できます(効率が低下します)。

-32ビットプロセッサは、32ビットオペレーティングシステムのみを実行できます。

0 投票する
1 に答える
994 参照

scala - Scala での圧縮

私はIntの非常に大きなリスト(おそらくlarge ) を使用して Scala に取り組んでおり、それらを圧縮してメモリに保持する必要があります。

唯一の要件は、リストの残りの部分に触れることなく、作業するリストの最初の番号をプル (および圧縮解除) できることです。

私には多くの良いアイデアがありますが、それらのほとんどは数値をビットに変換します。例:

タプル |log(x)|,x-|log(x)| として任意の数値xを記述できます。最初の要素は 1 と末尾の 0 の文字列 (単項コード) として右に並べ、2 番目の要素はバイナリで表します。例えば:

1 -> 0,1 -> 0 1

...

5 -> 2,1 -> 110 01

...

8 -> 3,0 -> 1110 000

9 -> 3,1 -> 1110 001

...

Int は固定の 32 ビットのメモリと long 64 ビットを使用しますが、この圧縮ではxはストレージに2log(x)ビットを必要とし、無限に大きくなる可能性があります。ほとんどの場合、この圧縮によりメモリが削減されます。

このような種類のデータをどのように処理しますか? bitarray とか何かありますか?

そのようなデータを Scala で圧縮する他の方法はありますか?

ありがとう

0 投票する
4 に答える
1292 参照

c++ - C ++プリミティブデータ型:符号なし30ビットの読み取り方法

の配列がありunsigned charsます。基本的に私はビットの配列を持っています。

最初の16ビットが符号なし整数に対応していることを知っており、次を使用してその値を取得します。(u16)(*(buffer+ 1) << 8 | *abcBuffer)

u30次に、次のように記述さ れると呼ばれるデータ型がありますu30 - variable length encoded 30-bit unsigned integer value。u30の可変エンコードは、エンコードされた値の大きさに応じて1〜5バイトを使用します。各バイトは、その下位7ビットを値に寄与します。バイトの上位(8番目)ビットが設定されている場合、次のバイトも値の一部になります。

私はこの説明を理解していません:それはu30(30!)と言い、それから1から5バイトと言いますか?また、私は別のデータ型と呼ばれていますs24 - three-byte signed integer value.

このような非典型的なデータ型をどのように読み取る(値を取得する)必要がありますか?どんな助けでもありがたいです。

どうもありがとう!

0 投票する
7 に答える
42907 参照

java - Javaで符号なしバイトのビットを反転するにはどうすればよいですか?

非常に単純なタイプの暗号化用のデコーダーを作成しようとしています。0 ~ 255 の数値をスキャナーで入力し、ビットを反転してから文字に変換して印刷します。

たとえば、数値 178 は文字 "M" に変換する必要があります。

178 は 10110010 です。

すべてのビットを反転すると、01001101 が得られます。これは、77 または文字としての「M」です。

私が抱えている主な問題は、私が知る限り、Java は符号なしバイトをサポートしていないということです。値を int または short として読み取ることができますが、余分なビットが原因で、変換中に値がオフになります。理想的には、ビットごとの補数演算子を使用できますが、符号付きの数値でこれを行うと、最終的に負の値になると思います。これにどのようにアプローチすべきかについてのアイデアはありますか?

0 投票する
6 に答える
34846 参照

c - ユニオンで個々のビットにアクセスする方法はありますか?

私はCプログラムを書いています。charとしてアクセスできる変数が必要ですが、の特定のビットにもアクセスできます。このような組合が使えると思っていたのですが…

しかし、コンパイラはこれを好みません。どうやら、構造体でビットを使用することはできません。では、代わりに何ができますか?

0 投票する
3 に答える
2128 参照

.net - VB.NET で 1 バイトから 4 ビットを格納する

VB.NET で 1 バイトから 4 ビットを格納する最良の方法は何ですか? 最良の意味は次のとおりです。

  • Byte 型から格納する最も簡単な方法。
  • ビット単位の操作を実行する際に最も簡単に操作できます。
  • ビットを他の型に簡単に変換します。

コンストラクターを介して BitArray に格納すると、ビットの順序が逆になります。これは、最初のビットの値を取得しようとすると、BitArray の最後のエントリでその値を探す必要があることを意味します。それらをブール値の配列に格納しても、バイトから直接変換する方法はなく、他の型への変換が妨げられます。