「排他的論理和」を含む日記 RSS

はてなキーワード: 排他的論理和とは

2019-09-05

1+1が2にも3にも4にもなるってよく言うけど

1+1が2にも3にも4にもなるって脳筋陽キャがよく言うけど、

ここで謎の演算子「+」を持つモノイドを考えてみたい。

まず、前提として、1,2,3,...はモノイドの元 α1,α2,α3,...の簡易記法とする。

モノイドの単位元はα0とする。

モノイドの次の元を得る関数SUCCが存在し、

α_n+1 = SUCC(α_n)と表すことができることとする。

まり

α2 = SUCC(α1)
α3 = SUCC(α2) = SUCC(SUCC(α1))
...

である

α0 は単位元であるので、単位元定義より、

α0 = α0 + α0
α1 = α1 + α0
α2 = α2 + α0
...

である

ここで、1+1が2にも3にも4 という定義より、

α1 + α1 = α2 = SUCC(α1)
   = α3 = SUCC(SUCC(α1))
   = α4 = SUCC(SUCC(SUCC(α1)))
...

となる。

これを満たすことができる関数SUCCは幾つか考えられるが

その1:

defun SUCC(x) = α0

その2:

defun SUCC(x) =
        if (x equals to α0) then α0
        else x

等とすることができる。

その1は 1bit の排他的論理和

α0 + α0 = α0
α0 + α1 = α1
α1 + α0 = α1
α1 + α1 = α2 = SUCC(α1) = α0

その2は 1bit の論理和

α0 + α0 = α0
α0 + α1 = α1
α1 + α0 = α1
α1 + α1 = α2 = SUCC(α1) = α1

である

脳筋って頭いいんだね

2019-01-01

AとBが共存できないってことを

何て言ったのでしょうか・・・

排外処理とかそんな名前だった筈なのですが・・・


追記:(2019/1/1 14:00)

排他的論理和

排他制御

このあたりが正解だったのかな、と考えています

新年早々、色々とアドバイスありがとうございます

今年が皆さんにとって良い年となりますように。

2016-12-15

複数の集合の関係を整理してみよう

プログラマ「いやぁ、論理演算パターン多すぎてマジ混乱してきた・・・

?????「困っているようだね」

プログラマ「そうなんです。論理和 , 論理和否定, 排他的論理和...。いくつもあって頭が混乱してきたんです。」

?????「それならこれを使いなさい」

プログラマ「ぎゃー!!!あんなにイミフだったif文が視覚的に図式化されてスラスラ書けるぅぅうううう!!!!!あばばばばば!!!!」

?????「ククク・・・興味を持ったようだな」

?????「そうだろう。君がこの仕事を続ける限り、各集合をひとつの閉曲線(例えば円)の内部で表し、相関関係をその閉曲線の交わり方によって表す図を知っているということは一生役に立つぞ。」

?????「もうひとつ情報を与えてやろう」

?????「ド・モルガン・・・

プログラマ「え・・?」

?????「暗黒に染まったif文をキレイに書き直す度にパワーがはるかに増す・・その更新無限にオレは残している・・その意味がわかるな?」

プログラマ「いきなり意味がわからないことを言いやがって!!こいつ、なんかやばいぞっ!!!!」

ゴゴゴゴゴ....

プログラマ「だめだ!暗黒の力が強烈過ぎて僕のスパゲッティコードの力では太刀打ち出来無い(´・_・`)...!!」

プログラマ「きさま!まさか!!(((((((( ;゚Д゚))))))))ガクガクブルブルガタガタブルブル」

ベン図 「フハハハハ!!!!!!!!!!!そのまさかだ!」

2009-03-31

http://anond.hatelabo.jp/20090330183554

それ以上でもそれ以下でもない

とりあえず以上と以下の慣用的な意味はおいとくとしても、空集合とは限らない。

「AがB以上でもB以下でもない」というとき、

AとBの間に順序関係定義されていないことのほうが多いんじゃない?

たとえば「珈琲紅茶以上でも紅茶以下でもない」と言うとき、

珈琲紅茶の間の順序関係定義されていないだけにすぎない。

ついでに言えば、慣用表現と学術用語に差があるのはしかたがないでしょう。

珈琲紅茶」という表現の「か」が一般的には論理和でなく、排他的論理和であることにまであなたはケチをつけるの?

まあ、「加速度的」みたいなのは一般的でもないし、単なる誤用だろうけど。

2008-03-03

[]内部的に数値か文字かを判別する

どうーでもいいーですよー。

どうでもいい話ー、聞いてください。

Perlというやつは一応内部的には数値か文字列かをちゃんと分けて変数の管理をしているのです。

でわ、現在ある変数が内部的に数値なのか?内部的に文字列なのか?判別しようと思ったらどうしますか?

こうしてみます。


 my @data = (
     100,      # 100は内部的に数値
     '200'     # 200は内部的に文字
 );
 
 foreach my $d ( @data ) {
     if( ($d ^ $d) eq '0' ){
         print $d . " = It's numeric\n";
     }
     else {
         print $d . " = It's string\n";
     }
 }

同じ変数同士を排他的論理和(^)すると、その変数が数値の場合は0になり、その変数が文字列の場合は空文字になるのです。

なぜかって?そりゃ同じ値同士で排他的論理和したら必ず00000000になるでしょう?

で00000000は、数値なら数字の0だし、文字列なら制御コードのNUL文字になるので上記のような処理が成り立つというわけです。

あってますよね?

ってか判別できたからなんだというんだと問われたらぐうの音すら出ません。まったくもってどうでもいい話でした。

プログラ増田のあなぐら

 
アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん