- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【C++】低レベルな質問ですいません)
【C++】ボールの跳ね返りについての質問
このQ&Aのポイント
- C++を初めて1週間の者が、ボールの跳ね返りについて学んでいます。コード内で跳ね返りの計算を行っていますが、bxの値がなぜプラスの符号に変わるのか疑問です。
- コード内でbxに推移量を代入しているため、跳ね返りがうまく動作しています。ただし、処理が2度目の跳ね返りになると、bxがなぜプラスの符号に変わるのか不明です。
- bxには最初に正の値を代入しているため、初回の跳ね返りは問題ありません。しかし、2度目の跳ね返りではbxにマイナスの符号を代入していますが、それによりbxがなぜプラスの符号に変わるのか理解できません。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
> 跳ね返り部分のbx = -bxですが > これはbxをマイナスの符号にしてつっこんでいると理解しています いいえ、(コメントにもあるとおり)「符号を反転して代入」しているのです。
その他の回答 (3)
- koi1234
- ベストアンサー率53% (1866/3459)
回答No.4
-(-6)になるから+6になる 別の書き方すれば bx *= -1; と同じ
- kuma310min
- ベストアンサー率40% (212/518)
回答No.2
>跳ね返り部分のbx = -bxですが >これはbxをマイナスの符号にしてつっこんでいると理解しています 正確には、-1を掛けているので、「符号の反転」だと思いますよ。
- Wr5
- ベストアンサー率53% (2173/4061)
回答No.1
数学の問題のような気もしますが……。 >bx = -bx; は bx = 0 - bx; と同義な扱いなんではないですかね? # bx = bx * -1; とか bx *= -1; とかの書き方もありますかねぇ。 んで……bxが正数の場合は bx = 0 - (6); って事で負数に、負数だった場合は bx = 0 - (-6); で正数になる。ということかと。