問題タブ [negative-zero]

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

floating-point - float には負のゼロがありますか? (-0f)

IEEE 浮動小数点数には、符号を示すビットが割り当てられています。つまり、技術的には、ゼロの異なるバイナリ表現 (+0 と -0) を使用できます。たとえば、負のゼロの浮動小数点値になる C で実行できる算術演算はありますか?

0.0fこの質問は、を使用して安全に比較できるかどうかを疑問視する別の質問に触発されたものであり、一見完全に等しい値で壊れる==原因となるゼロを表す他の方法があるかどうかさらに疑問に思いました。float1 == 0.0f

[編集] float を等しいかどうか比較することの安全性についてコメントしないでください! 私は重複した質問のあふれんばかりのバケツに追加しようとしているわけではありません。

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

c++ - -0.000 を 0.000 として印刷できますか?

これは を出力-0.000しますが、そうすべきではありません0.000か?

マイナス記号なしでこの印刷を行うにはどうすればよい0.000ですか?

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

c++ - c++コードから負のゼロを削除するには?

c/c++で「負のゼロ」を削除するには? 私はこれを試しています-

大丈夫で安全ですか?または、他に簡単で安全な方法はありますか?特にコンテストコーディング用。助けてください....

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

c++ - C++ でデータベース値から -0 を処理する

現在、データベースからデータを読み取る必要がある C++ コードに取り組んでおり、データベースの値がゼロでない場合は、さらにロジックを適用する必要があります。

しかし、データベースには計算中の値があり、-0.0. そして、この負のゼロは C++ double 変数のガベージ値として扱われています。0.0コンストラクターのように値を既に初期化しています。

サンプルコード:

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

swift - Swiftで負の数からゼロに変更する方法

データ型がDoubleあります。浮動小数点数の結果が必要なためですが、結果が負の場合、アルゴリズムがすべて壊れました。浮動小数点の符号なしデータ型はありますか?

ここに画像の説明を入力

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

javascript - String.prototype.slice() では、.slice(0,-0) と .slice(0,+0) は同じ結果を出力する必要がありますか?

コードゴルフのゲームで文字列の複数形を最適化しようとしているときに、この癖に出くわしました。文字列を複数形で書きsubstr、条件付きで最後の文字を切り捨てるというアイデアがありました。

それは結構です-それは私が望んでいたことをします。しかし、 String.prototype.slice() の MDN ドキュメントを見て、関数の 2 番目の引数として負のゼロを渡すことで、さらに短くする方法を見つけたと思いました。ドキュメントから:

endSlice

オプション。抽出を終了するゼロベースのインデックス。省略した場合、slice() は文字列の末尾まで抽出します。負の場合、sourceLength + endSlice として扱われます。ここで、sourceLength は文字列の長さです(たとえば、endSlice が -3 の場合、sourceLength - 3 として扱われます)。

これは、 is が 1 に等しい.slice(0,-1)場合に評価され、文字列から最後の文字が切り取られます。または、それ以外の場合は に評価されます。これは、ドキュメントによると、操作対象の文字列の長さから 0 文字が差し引かれたことを意味するはずです。counter.slice(0,-0)

たまたま、-0 は によって +0 と同じように扱われString.prototype.sliceます。これは、-0 を +0 と同じものとして扱うための規則なのだろうか (たとえば、 が に-0 === +0評価されることはわかっていますtrue)。を見て思ったのですString.prototype.substrが、その関数では+0も-0も同じように扱われているはずです。

誰かがこれについてもっと深い洞察を持っていますか? 符号付きゼロは言語機能ですが、特定のシナリオ ( など) を除いて無視する必要があることを示す言語設計の基本的な規則はあり1/-0ますか?

tl;drスライシングでコードゴルフに勝ったなんて冗談は言えないのがしょっぱいです。

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

php - php 否定的な回答を避ける方法

こんにちは、私は初心者で、税務目的で簡単なコードを書いています。これまでのところ、小さなコードを書いていますが、関数taxable_i($i)に問題があるようで、 $taxable_i NIL. 私はすべてを試しました。関数を介して作成しようとすると、$taxable_i NIL実行できません。の結果が表示されます£13900$taxable_i納税額よりもプログラムが反響していると思います。上記をまとめて削除すると、未払税額は-£2199.80となり、これはマイナスです。$taxable_i <personal_allowance答えはゼロですが、結果はゼロではないことに注意してください。なぜ、何が間違っているのかわかりません。どんな助けも大歓迎です。

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

python - 0.0 ではなく -0.0 を返す浮動小数点除算

How to Think Like a Computer Scientistの第 5 章の演習に取り組んでおり、3 番目の演習を解決しようとしています。

slope(x1, y1, x2, y2)点 (x1, y1) と (x2, y2) を通る直線の傾きを返す関数を作成します。slopeの実装が次の doctest に合格できることを確認してください。

これは私が思いついたコードです:

2 番目の doctest-0.0では、代わりに0.0… を取得しています。これは混乱を招く-0.0ものです。絶対値を取得するために使用できることはわかってabs()いますが、負の数になるはずのパラメーターがある場合、それは機能しません。

また、結果に条件を設定して絶対値を使用するかどうかを設定できることも知っていますが、ここで何か間違ったことをしているだけなのだろうかと思っています。