約 10,537 件
https://w.atwiki.jp/parepan/pages/25.html
比較演算 IF %WAIT_TIME% == 0 GOTO xxxxx --- 変数名 WAITE_TIME がゼロの場合はxxxxxへ飛ぶ IF 条件式 else 処理 も可能 比較演算子は以下の通り EQU 等しい== NEQ 等しくない!= LSS より小さい LEQ 以下 = GTR より大きい GEQ 以上 = エラーレベル(ERRORLEVEL) IF ERRORLEVEL 0 以降の処理 直前に実行したコマンドが返す終了コードの番号が指定した番号等しいか大きい場合に 行う以降の処理を定義
https://w.atwiki.jp/futoyama/pages/63.html
四則演算は以下の expr コマンドを使う。 例 $ expr 3 + 1 -- expr 3+1 はだめ。数字と演算子の間はスペースが必要 4 $ expr 16 - 7 9 $ expr 18 / 9 2 $ expr 9 * 9 81 $ expr 17 % 4 1 括弧を使う場合はエスケープが必要。 $ expr 5 * \( 2 + 1 \) 15 bashであれば、「$((式))」で式を囲むと計算ができる。 「$((式))」だと式の結果はコマンドラインへの入力となるだけで、表示されないためechoコマンドで表示している。 $ echo -n $((3+1)) 4 $ echo -n $((16-7)) 9 $ echo -n $((18/9)) 2 $ echo -n $(( 9 * 9 )) -- (( )) の間にスペースを入れてもOK 81 $ echo -n $(( 17%4 )) 1 $ echo -n $((5*(2+1))) -- 式には括弧も使える。 15 計算結果を変数に入れて使いたい場合は、以下のようにする。 $ Var1=`expr 1 + 1` -- `(バッククォート)で囲む $ echo $Var1 2 $ Var2=$((1+3)) $ echo $Var2 4 「expr」だと、オペランドと演算子の間にスペースが必要だったり、優先を表す括弧もエスケープが必要だったりで使いにくいので、「$((式))」の方がよいですね。 名前 コメント
https://w.atwiki.jp/idev/pages/34.html
+ - * / % 算術 ++ -- インクリメント、デクリメント = = == != 比較 ! || 論理 NOT AND OR | ^ ~ ビット演算 AND OR XOR NOT a = b c シフト操作 bをcビット分左にずらしaに代入 i アドレス演算子 * *p 間接演算子 = += -= *= /= %= = = = |= ^= 代入 a 1 ? (b = a) (b = -a); a 1ならb=a、じゃなけばb=-aする。
https://w.atwiki.jp/imops-forth/pages/23.html
四則演算 + – * / Forthでも普通の四則演算がわからないという人は、ほとんどいないと思う。変数を使わずスタック上で実施するので、コード面は初めは分りにくいということはあるかも知れないが、普通は数分もあれば慣れる。 記号としては、足し算は + 、引き算は - 、掛け算は * 、割り算は / 、なのでごく普通である。これらもワードなので、前後は空白文字で空ける。変数名や数字とつなげてしまってはいけない。これらは整数演算であり、入力も出力も整数である。割り算は余りは捨ててしまう。二つの整数をデータスタックから取り、結果をスタックに置く。"a b -" は"a 引く b"であり、"a b / " は "a 割る b"である。 \ スタックの状態 x y - \ スタックの状態 x-y なお、スタックはLIFOだからということで、引算のとき、a b -とするなら、まずトップのbをスタックからとり、次にaを取ってbから引く、と考えてしまいかねない。そうすると、b-aとなってしまうが、そうはならない。これは、二項演算では二つの値を同時にスタックから受け取ると考えればいいのだが、初めは混乱するかもしれないので注意。引算では、下の値から上の値を引くし、割り算では、下の値を上の値で割るのが通常である。 ところで、割り算 / のとき、後の項(スタックのトップ)が分母になるが、これが0だとx86は割り込みが入ってOSが例外を投げる。 これを受け取る機構が無いソフトウェアは、その場で落ちるので気をつけなければならない。内部的にフラグをいじれば止められるようだが、バグ発見のためには、 Onにしておいた方が良いのかも知れない。 iMopsではデフォルトではexceptionが投げられ、クラッシュする。PowerMopsでは静かに結果としてNaNを返す。 数値変換 やや場違いだが、数値処理に関連することは明らかなので、スタックの数値の符号を変えるワードNEGATEをここに挙げておく。 NEGATE ( n -- -n ) \ 符号を替える もちろん負の数は正になる。 さらに、ABSは絶対値を取る演算である。正ならそのまま、負ならば符号を替える。 ABS ( n -- u ) また、計算上も用いるものとして、2つの値の大きい方、あるいは小さい方を取るMAXとMINも挙げておく。 MAX ( n1 n2 -- n ) \ nはn1、n2のより大きい方の値。等しいときはどちらか。つまりうるさく言えば、より小さくない方の値。 MIN ( n1 n2 -- n ) \ nはn1、n2のより小さい方の値。(より大きくない方の値) 割り算の拡張 割り算の余りを出す計算MOD、余りと商の両方を出す計算/MODがある。 例えば: 234 10 MOD \ -- 4 つまり、234を10で割った余り 345 10 /MOD \ -- 5 34 トップが商であることに注意 商をq、余りをrとしてスタック効果は: MOD ( n n -- r ) \ n=r (mod n ) /MOD ( n n -- r q ) また、割り算に関しては、被演算項を正の数と見なして計算する、Unsignedの演算も定義されている。 u/ ( u u -- uq ) \ 符号なしの割り算 uMOD ( u u -- ur ) \ 符号なしのMOD u/MOD ( u u -- ur uq ) \ 符号なしの/MOD 短縮演算 スタック値を1だけ増減する場合と、2倍または2分の1にする場合について、演算を簡約したワードが定義されている。これらは forth標準である。 1+ ( n -- n+1 ) 1- ( n -- n-1 ) 2* ( n -- 2n ) 2/ ( n -- n/2 ) \ 余りは切り捨て 説明は不要だろう。 Mopsでは、この種の簡略演算ワードを、もう少し余分に定義している。追加分は: 2+ ( n -- n+2 ) 3+ ( n -- n+3 ) 4+ ( n -- n+4 ) 2- ( n -- n-2 ) 3- ( n -- n-3 ) 4- ( n -- n-4 ) 3* ( n -- 3n ) 4* ( n -- 4n ) 4/ ( n -- n/4 ) \ 余りは切り捨て である。 普通に計算しても同じだが、概していえば、こちらの方が速い(特に、掛け算と割り算)。 計算は基本的なものはこんなものだろう。 続いては、ページを変えて、ビットの論理演算と、ビットシフト操作に関するワードについて述べる。 次 拡張数値計算 Forth言語概説
https://w.atwiki.jp/vsaturn/pages/26.html
if文の条件式で使うと便利! 今回は前項で解説したif文で使うと便利な演算子を紹介します。 この演算子は左右のオペランドを比較して成立していれば1を返す演算子です。 等価演算子 名前 使用例 解説 ==演算子 a == b aとbが等しければ1 !==演算子 a != b aとbが等しくなければ1 関係演算子 名前 使用例 解説 演算子 a b aがbより小さければ1 演算子 a b aがbより大きければ1 =演算子 a = b aがb以下であれば1 =演算子 a = b aがb以上であれば1 if文で使う場合はこんな感じです。 if( x1 == x2 ) // 比較して等しければ1そうでなければ0
https://w.atwiki.jp/shinobu2/pages/32.html
・算術演算子 ・単項マイナス演算子 ・演算子の優先順位 ・インクリメント・ディクリメント演算子 ・前置と後置 ・ビット演算子 ・シフト演算子 ・代入演算子 ・関係演算子 ・論理演算子 ・条件演算子 ・文字列の連結 わからないところがあったら以下に書き込んでください。 test -- (test) 2010-12-10 22 01 03 テスト -- (test) 2010-12-10 23 00 34 hosei -- (HOSEI) 2011-01-31 14 10 34 test -- (名無しさん) 2011-01-31 14 10 53 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/tetdm/pages/19.html
ビット単位でデータを考える #include stdio.h main() { unsigned char x;//8ビットで符号なしデータ(0から255まで表現) x = 255;//8ビットが,すべて1 printf("x = %x\n",x);//16進数表示するので,4ビット毎に表示する } ビット毎に論理演算を行う {{{ ビットごとの論理積}}} {{{ | ビットごとの論理和}}} {{{ ^ ビットごとの排他的論理和}}} {{{ ~ 1の補数(否定)}}} 00000011 00000101 の論理積を計算する #include stdio.h main() { unsigned char x,y,z; x = 0x03;//00000011 y = 0x05;//00000101 z = x y; printf("z = %x\n",z); } 演習 全ての演算子について,演算の様子が分かるプログラムを作成する.
https://w.atwiki.jp/ankundora/pages/38.html
「四則演算」のページです
https://w.atwiki.jp/mopsprogramming/pages/119.html
整数演算で、割り算の余りを出すのが剰余演算です。基本は、MODです。例えば、 123 7 MOD では、123を7で割ったときの余り(4)がスタックに残ります。 負の項があるときは、ちょっと面倒です(私的な感想ですが、あまり数学的でない気がします)。具体的には、第一項が負であるときには負の範囲で余りが出ます。ちょっと記号を使って書けば,sign(n)を、nが正のときは1、nが負のときは-1となる関数(n=0は度外視)、min(a,b)は、a、bのうち小さい方の値をとる関数、max(a,b)はa、bのうち大きい方の値をとる関数とします。このとき、|n|はnの絶対値とすると n1 n2 MOD の結果Rは、 min(sign(n1)*|n2|,0) R max(sign(n1)*|n2|,0),またはR=0 の範囲で値をとります。 くだくだしいのは、私のまとめ方が悪いせいです。すみません。このような結果は、むしろ、整数の割り算の結果から考えれば納得できます。このような割り算は、フロアード(Floored)と言われます。 整数の割り算では、端数は捨てられます(丸め込み)。すると、商は絶対値で見たとき内輪(0に近い)側の整数が採用されることになります。この商と割る数(後の項)をかけ算した結果は割られる数(初めの項)より0に近くなりますから、その差(剰余)は、割られる数が負なら負か0、正なら正か0になるのです。 剰余と商の両方を出す演算子もあります。 /MOD ( n1 n2 -- n 1 n 2 ) \ n 1が剰余、n 2が商 関連項目: 四則演算 トップページへ 目次へ
https://w.atwiki.jp/csharpwiki/pages/28.html
null合体演算子