2022年11月27日

忘れていた いや 理解してなかった 知らなかった 気がする

Pythonである。次の計算結果が なんじゃこりゃぁああ!!  てかね。%って割った余りですね。

print(-26 % 7)  結果 ---  2

print( 26 % 7) 結果 ---  5

26%7 は 商が3 なので、3×7 = 21 でして、余り 5 はわかる。

負数の場合にはどうなるのだ? 

-26 / 7 = -3.7142  これで余りがどして 2になるん?  

  C言語では 余り -5 と出た。Pythonでは余り 2 と出た。なんでじゃぶううぅぅぅ???

Pythonでは商を -4としている。 7×(-4) = –28,  -26 –(-28) = 2  ってかね。
C言語は商を –3 としている。7×(-3) = – 21,  –26 –(-21) = –5 だ。

こういうの言語によって違っていいのかい。

ワタクシのようなボンクラ脳では理解出来んですわ どーや わっはっは。

ならば検索するのみ。北斗超激必殺検索拳 炸裂!!   いやー、先日アニメの「北斗の拳」をAbemaTVで見たもので(笑)

https://ja.stackoverflow.com/questions/66236/python-%E3%81%A7-%E8%B2%A0%E3%81%AE%E6%95%B0%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9F%E5%89%B0%E4%BD%99%E7%AE%97%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6

ワタクシは小中高で負の数を割ったあまりについて説明があった記憶がない。ただ、ワタクシのような疑問を持つ人はおるおるおるす。良かったあ、仲間がいて(笑)

とはいうものの、負数を割った余りを活用することはワタクシは皆無であろう。上の計算はあるプログラムを書いていてデバッグ中にたまたま見つけたものだ。数字は違うけど。
負の数を割った余りを出すという意図はなくて、偶然ですが割る数が負になったのでありまして。。。。
おかげて、負の数を割った余りがPythonとC言語とでは処理が違うという事を知りました。これはこれでよかったです。いじょ

  一子相伝の 北斗検索拳 !!  奥義 超絶グルグル拳 の炸裂だあ!!   ブブッ)

posted by toinohni at 11:39| 東京 ☀| Comment(0) | ソフト系雑学 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
コチラをクリックしてください