• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【C++】低レベルな質問ですいません)

【C++】ボールの跳ね返りについての質問

このQ&Aのポイント
  • C++を初めて1週間の者が、ボールの跳ね返りについて学んでいます。コード内で跳ね返りの計算を行っていますが、bxの値がなぜプラスの符号に変わるのか疑問です。
  • コード内でbxに推移量を代入しているため、跳ね返りがうまく動作しています。ただし、処理が2度目の跳ね返りになると、bxがなぜプラスの符号に変わるのか不明です。
  • bxには最初に正の値を代入しているため、初回の跳ね返りは問題ありません。しかし、2度目の跳ね返りではbxにマイナスの符号を代入していますが、それによりbxがなぜプラスの符号に変わるのか理解できません。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

> 跳ね返り部分のbx = -bxですが > これはbxをマイナスの符号にしてつっこんでいると理解しています いいえ、(コメントにもあるとおり)「符号を反転して代入」しているのです。

その他の回答 (3)

  • koi1234
  • ベストアンサー率53% (1866/3459)
回答No.4

-(-6)になるから+6になる 別の書き方すれば  bx *= -1; と同じ

回答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); で正数になる。ということかと。