問題タブ [overflow]

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 投票する
8 に答える
68800 参照

internet-explorer-8 - IE8オーバーフロー:最大高さの自動

非常に大量のデータを含む可能性のある要素がありますが、ページレイアウトを台無しにしたくないので、コンテンツが収まらないときにスクロールバーが表示されることを期待して設定max-height: 100pxします。overflow:auto

FirefoxとIE7ではすべて正常に動作しますが、IE8はのoverflow:hidden代わりに存在するかのように動作しoverflow:autoます。

試しましたがoverflow:scroll、それでも役に立ちません。IE8は、スクロールバーを表示せずにコンテンツを切り捨てるだけです。max-height宣言を変更しheightてオーバーフローが正常に機能するようにします。これはとの組み合わせでmax-heightありoverflow:auto、問​​題が発生します。

これは、IE8の最終リリースバージョンの公式バグとしても記録されます

回避策はありますか?今のところ、heightの代わりにを使用することにしましmax-heightたが、データが少ない場合に備えて、十分な空きスペースが残ります。

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

language-agnostic - 算術オーバーフローとアンダーフローを防止するための最も効果的な方法

算術オーバーフローアンダーフローを防ぐための最も効果的な方法は何ですか?

頭に浮かぶいくつかの例は次のとおりです。

  • 有効な入力範囲に基づくテスト
  • 正式な方法を使用した検証
  • 不変式の使用
  • 言語機能またはライブラリを使用した実行時の検出 (これはそれを防ぎません)
0 投票する
3 に答える
710 参照

c# - Int32 を ushort に変換してから戻す

65535 より大きい整数値を ushort にパックするためのシステムを考案しようとしています。説明させてください。

SQL Server の IDENTITY 列を使用して Int32 値を生成するシステムがあり、Int32 ID を ushort にオーバーフローさせる運用中のクライアント API によって制限されています。幸いなことに、クライアントには、これらの ID を持つものの約 20 程度のインスタンス (パッケージと呼びましょう) しかなく、ローカルの兄弟間でそれらを一意にする必要があるだけです。一般的に受け入れられている解決策は、クライアントに送信する前に Int32 ID を ushort に変換することです (キャストではなく、変換を意味します)。ただし、このアプローチには問題があります。

  1. 65535 未満の一部の ID は、有効期限が切れていないため、任意の時点で特定のクライアントで引き続き有効である可能性があります。
  2. ID の衝突は発生しません。つまり、パッケージ ID 1 がクライアントに送信された場合、65536 に適用されたときに ushort を作成するために Int32 から 65535 が削除された回数を追跡するアルゴリズムも 1 になり、衝突が発生します。
  3. 返されたときに、ushort を Int32 に再構築できる必要があります。

この問題を解決するために利用できるのは、エコーされる単一の符号付きバイト フィールドであり、127 の値で遊ぶことができます (0 ~ 9 を別の目的で使用しているため、実際には 117 です)。これを「バイトフィールド」と呼びます。

3 つの異なる翻訳ルーチンについて説明しました。

  1. 乗法: ushort を作成するために Int32 から 65535 を削除した回数をバイト フィールドに格納します。これには、上で詳述した衝突の問題があります。
  2. シリアル化されたセッション状態: クライアントごとに、そのクライアントに関する事実に基づいてセッション ID を生成します。次に、クライアントがサーバーに再度アクセスしたときに、パッケージのインベントリを既知のデータベース ID に変換できるように、1 から配信されたパッケージの数までの 1:1 変換テーブルを保存します。シリアル化されたセッション状態をデータベースにバックアップし、1 秒間に数百から数千のトランザクションをサポートしたいため、これにはオーバーヘッドの問題があります。
  3. バイト フィールドが、Int32 を受け取り、それを ushort に変換する変換アルゴリズムの ID である、さまざまなアルゴリズム アプローチ。明らかに、これらの多くは単純な乗法 (変換できる ID の上限を増やすため) になりますが、いくつかは、より小さな境界 (32768 など) を使用して、数値を加算/減算して、数値にできるだけ近づける乗法でなければなりません。兄弟間で一意であることを保証できる番号。このアプローチはプロセッサを集中的に使用しますが、スケーラビリティを維持しながら衝突を回避できるようにする必要があります (ただし、このアプローチでは、アップグレードにより ushort の問題が自然に解消される前に上限に達することはありません)。

したがって、私の質問は次のとおりです:上記の私のアプローチよりも良い方法はありますか?そうでない場合は、特定の数値がより大きい場合に1〜65535の数値を生成するアルゴリズム(アプローチ#3の場合)に関して何を探す必要がありますか? 0 で、一方向ハッシュであってはなりませんか?

明確化: ushort の上限が最大の問題というわけではありません。クライアント API が ushort を使用しているため、クライアントのバイト フィールドを組み合わせてより大きな値を取得することはできません (クライアント API はアップグレードできませんが、最終的には存在しなくなります) )。

0 投票する
8 に答える
23806 参照

css - オーバーフロー:非表示と表示:なしの違いは何ですか

オーバーフロー:非表示と表示:なしの違いは何ですか?

0 投票する
9 に答える
30227 参照

c++ - ac / c++プログラムで起こりうる/潜在的なスタックオーバーフローの問題を検出する方法は?

アプリのスタック スペースの量と、実行中のスタック使用量の最高水準点を確認する標準的な方法はありますか?

また、実際のオーバーフローという恐ろしいケースでは何が起こるでしょうか?

クラッシュしたり、例外やシグナルをトリガーしたりしますか? 標準はありますか、それともすべてのシステムとコンパイラで異なりますか?

特に Windows、Linux、および Macintosh を探しています。

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

vb.net - UInt32 ~ Int32

Int32 を返すが、計算などに unsigned int (UInt32) を使用する VB.Net 関数がある場合、たとえば「3392918397」という値を持つ変数「MyUintVar32」を VB.Net の標準 Int32 に変換するにはどうすればよいですか? ?

C# で "return (int)(MyUintVar32);" を実行すると、エラーではなく -902048899 が返されます。

私はいくつかの異なる方法を試しました。c# がこれらの変換を処理する方法と VB.Net の違いは何ですか?

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

css - 右ではなく左にオーバーフロー

ユーザーが電話番号を入力するとoverflow:hidden、その中に電話番号が表示されます。div 内のテキストは右に揃えられ、テキストが左に大きくなるにつれて入力文字が右に追加されます。

しかし、テキストが div に収まらないほど大きくなると、数字の最後の文字が自動的にトリミングされ、ユーザーは入力した新しい文字を見ることができなくなります。

私がやりたいのは、divがそのコンテンツの右端を表示し、左側にあふれているように、左側の文字を切り取ることです。この効果を作成するにはどうすればよいですか?

左に溢れる電話番号

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

vba - VBA で const を計算するときのオーバーフロー

この宣言により、VBA でオーバーフローが発生します。

一方、値を直接設定しても問題ありません。

リテラル整数を long として扱うように VBA を説得するにはどうすればよいですか?

ありがとう

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

c++ - C++ ストリームが unsigned char ではなく char を使用するのはなぜですか?

なぜ C++ 標準ライブラリが basic_[io]stream とそのすべてのバリアントをchar型ではなく型を使用してインスタンス化したのか、私はずっと疑問に思っていましたunsigned charchar(署名されているかどうかに応じて) get() などの操作でオーバーフローとアンダーフローが発生する可能性があることを意味します。これにより、関連する変数の実装定義の値が得られます。putもう 1 つの例は、その関数を使用して、フォーマットされていないバイトを ostream に出力する場合です。

何か案は?


:私はまだ確信が持てません。したがって、決定的な答えがわかっている場合でも、実際に投稿できます。

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

overflow - CSSの最大高さプロパティ

DIVのプロパティを設定するための優れたクロスブラウザのmax-height方法はありますか?そのDIVがを超えるとmax-height、スクロールバーでオーバーフローになりますか?