質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

2回答

2889閲覧

0と-0の違いが知りたい。

退会済みユーザー

退会済みユーザー

総合スコア0

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2020/06/14 08:07

提示コードのfloat t1;変数ですがなぜ-0とprintf();されるのでしょうか?if文で0と比較しましたが同じようです。printf();で両方の値を出力してしましたが 0 と マイナスの値のため 0 / - 3; など実証してしましたが値は0になっています。 0 と-0の違いはどのようになっているのでしょうか?

※この関数は直線と直線の最短距離を求める。関数ですが未完成のためreturn する値等は無価値です。

/*Vector はfloat型変数が3つあるだけ*/ float LineLine_range(Vector line_a[2],Vector line_b[2]) { Vector L1 = line_a[1]; Vector L2 = line_b[1]; //print_vec(L1); //print_vec(L2); float a = (Vector::dot(L1, line_a[0]) - Vector::dot(L1, line_b[0])); float b = (-Vector::dot(L1, L2) - Vector::dot(L1, L1)); printf("A: %.2f\n", a); printf("B: %.2f\n",b); float t1 = a / b; //float t1 = (Vector::dot(L1,line_a[0]) - Vector::dot(L1,line_b[0])) / (-Vector::dot(L1,L2) - Vector::dot(L1, L1)); printf("自作 t1: %.2f\n",t1); if( t1 == 0.0f) { printf("aaaa\n"); } Vector p1 = line_a[0] + Vector::mul_scalar(t1 , L1); float t2 = (Vector::dot(L1,p1) - Vector::dot(L2,line_b[0])) / Vector::dot(L2,L2); Vector p2 = line_b[0] + Vector::mul_scalar(t2, L2); // p1.printf_vec(); float f = (p2 - p1).Length(); return f; }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

現在コンピュータで広く使われている浮動小数点の表現方法IEEE754において、符号が独立したビットとして存在するために区別されているだけで、計算上の値としては同じ意味になります。 Wikipedia:IEEE 754における負のゼロ

投稿2020/06/14 08:39

kuuote

総合スコア705

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

参考:1の補数

投稿2020/06/14 08:35

cateye

総合スコア6851

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

cateye

2020/06/14 08:40 編集

リストを見る限り、1の補数には関係なさそうですが・・・いまのPCは2の補数・・・一応0と-0の違いということで・・・
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問