意外とないmodulo演算(剰余演算)

  • 2020.06.10 Wednesday
  • 07:12
スマホの電卓機能に
モジュロ演算できるものがないですね
ちょっと仕事で使うのですけど
(まあ暗算で済むくらいの計算)ですけど
やはり暗算だと間違いがおきちゃうので
電卓でとおもったのですけど
ない
しかたないのでスプレッドシートで計算してる
昔買った関数電卓のキーの割り付けにもないですね
多分関数としては持ってるとはおもいますけど
使い方忘れた
コメント
剰余演算ってプログラム言語でも答えが違うなど
奥が深いんですね。ふむふむ。

15年ぐらい前ですが、2進数を表すパターンを
穴あけする仕事をした時に、NCのカスタムマクロで
プログラムをしました。

a を n で割った余りを求めればいいんだなと思い
剰余 = a - ( n * FIX( a / n )) の様にして
求め、処理して数千パターンの穴あけをしました。

その仕事はそれっきりでずっとそのままでした。
二度と使われることはないと思いますけど
後輩にはマクロの使用例という事で教えるために
マクロの資料を見直していたら

な!な!なんと!式を立てなくても
#i = #j MOD #k であまりが求められるんですわ。
15年前はなぜ気づかなかった?

一番最近の感動した出来事でした(^_^;;)

いまだにガラケーなワタシ…
  • ZENKYU
  • 2020/06/11 10:43 AM
zenkyuさんこんばんわ
>剰余演算ってプログラム言語でも答えが違うなど

そうなんですか?誤差のことなのかな?
昔のNCで
#1=0
#2=1
#3=0,1
WHILE[#1 LE #2] DO1
#1=#1+#3
WEND1

というプログラムで
#1が1にならないという
NCのバージョンが存在しました
0.1は2進数宇では循環小数になってしまうので
その誤差をそのままにするのか
あるいは丸めてしまうのかということだったと思います

>#i = #j MOD #k であまりが求められるんですわ。
私の持っている取説は平成13年版の16iですけど
mod
関数はありません
昔はROUNDもありませんでしたね
  • 乱造
  • 2020/06/11 7:41 PM
ぼくもググって知りました。

どういう丸め方をするのかというところが
違うようですね。

新しいのは確認していませんが
1985年時点での11Mの取説には載っています。

関数ではなく「乗法型演算」というところに
書いてあると思います。
  • ZENKYU
  • 2020/06/11 8:43 PM
11Mのころからあったのですか?
でもまだ見つけられません
実機があればすぐたしかめられるのにねえ

  • 乱造
  • 2020/06/12 6:30 AM
OSP
の5020
ではローカル変数の予約語としてMODもありますね
多分、関数に使っているんだと思います
HAもある
なるほどね
隠しコマンドもこのあたりから見つけているんでしょうねえ
DAというのもあるなあ
たぶんこれって現工具の番号の補正を使うってことかな
HBってなんだろう気になるコマンドいっぱいあるなあ
RPとか
  • 乱造
  • 2020/06/12 8:35 PM
---------------------------

G54 Z50. HA

みたいに使うらしい。予約語?
乱造さんはオークマも経験ありなんですよね。

ところで16iMの演算指令の関数一覧のあたりに

乗法型演算
#i = #j * #k 積
#i = #j / #k 商
#i = #j AND #k 論理積  
#i = #j MOD #k あまり

って書いてないですか?
  • ZENKYU
  • 2020/06/12 9:36 PM
コメントする








    

calendar

S M T W T F S
   1234
567891011
12131415161718
19202122232425
262728293031 
<< July 2020 >>

selected entries

categories

archives

recent comment

links

profile

search this site.

others

mobile

qrcode

powered

無料ブログ作成サービス JUGEM