低レベルではCPUが論理演算と条件分岐できるから。
高レベルでは、コンパイラが論理式を翻訳できるから。
ブーン、ブンブブンブン
ブンブブンブ、ブブーンブン
x86 CPUについて解説しよう。このCPUにはAND命令、OR命令、TEST命令、
XOR命令、NOT命令がある。CPU内部にはZFというフラグがあって、
計算後にJZというジャンプ命令を使えば計算結果がゼロか確認することができる。
さらにJZの反対にJNZというジャンプ命令がある。これらを組み合わせれば
プログラムでブール代数が表現可能であるし、ブール式(論理式)の値に従って実行内容を切り換えることが可能。
例えばTEST AX,AXという命令は、AXがゼロならばZFが0になり、AXが非ゼロならZFが1になる。
この直後にJZを呼べばAXの値を確認できる。
整数の0と1を代数系Xの元とすれば、
AND命令の直後のZFは、論理積となり、OR命令の直後のZFは、
論理和となる。NOT命令の直後のZFは、論理否定となる。
ZFに従ってレジスタに0か1を代入した結果をX上の各
演算の値とすると、Xをブール代数と見なすことができる。
ZFは0か1しかなくて
AXはZFが0の時は0
それ以外は1という理解でおk?
ブーン、ブンブブンブン
ブンブブンブ、ブブーンブン
>ZFは0か1しかない
正しい。
>AXはZFが0の時は0 それ以外は1
間違い。AXは整数レジスタで色々な値になる。ZFに従ってAXを変更するというプログラムの文脈においてAX==ZFとなる。
ブーン、ブンブブンブン
ブンブブンブ、ブブーンブン
有限な計算式は、有限な計算木(構文木)で表現できる。論理式も計算式の一種である。
計算木の各ノードに再帰的に付値を行えば、計算木全体の値を求めることができる。
コンパイラは計算式を解釈し、計算結果を求めるプログラムを再帰的に作り出し、そのプログラムを最適化する。
その過程は計算木の解釈である。
計算木は、計算のための木構造データ。二分木みたいなもの。葉っぱは、定数か変数。
枝分かれした所が演算子。ノードは、構造の頂点。詳しくは数学のグラフ理論を勉強してくれ。
コンパイラは計算結果と計算式をから計算過程を最短化するっていうことでいいのか?
葉っぱが定数の場合は、すぐに計算結果が求められるからね。
重要なことは、それぞれの部分計算木がある部分計算式に対応していること。そして、最適化しない場合は、
部分計算木がそれを計算するプログラムに対応していること。
だから、再帰を使って計算木の全体を計算するプログラムが作れるということ。
オートマトンで状態遷移する時にどう表現するつもりよ
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
数学の代数学っていうと身構えるほどチンプンカンプンだが
ブール代数の内容は至極簡単なので勉強してよかった。
Prolog使ってるとこの類は勝手に分るようになるよ。
いまのコンピュータの仕組みとなったシャノンの修士論文を読もう
ブーン、ブンブブンブン
ブンブブンブ、ブブーンブン
ブーン、ブンブブンブン
ブンブブンブ、ブブーンブン
オレが問題をだしてあげよう。
((c|d)&(a==c)&(b==d))|(!(c|d)&((a==c)|(b==d)))
を簡単にせよ。
もう諦めたでござるかぁー。ハエは出直してまいれー。
何だ板に張り付いてるだけの屑だったかww
どうせ答の出ない問題を出して煽りたいだけだろww
この板のレベルは低いのう。こんな簡単な問題も解けないとは。実に低いでござる。
そのくせ、ゴミとか池沼とか罵倒することだけは一丁前。地球人ってハエですね。
ハエがしつこいので、簡単な問題だと釘をさしておきますですはい。
時々プログラム板ってこういう頭のお菓子なのが湧くんだよな
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
おおハエよ。トチ狂ってギブアップしてしまうとは情けない、
そなたにもう一度チャンスを与えよう。では解くがよい。
駄々こねてしょうがないチョンくさいお子様に絶大なるヒントを与えよう。
まず右半分を変形。
すいません
粘着してる糖質が沸いてるんでここに来た人は相手にせず
別のスレに行ってください
こんな簡単な問題解ける人がたったの一人もいないでござるか?
レベル低いでござるのー。きみら全員才能ないですよ。違う業界いくべきですね。
(a==c)&(b==d)これと
(a==c)|(b==d)これという安易な答えが不正解だからって
答えがないと決めつけて人格攻撃とか、知能以前に人間レベルを疑わないといけないですね。
あたくしを糖質だとバカにできないほどあなたがたはキチガイであることを自覚すべきです。
あたくしは地球人でないことを自覚してますが、あなた方はアホである自覚がない。
つまりあたしで火星で、あなた方は真性だということです。
あたくしごときアホに人工知能が与えられたのは、世界を敵にまわしても勝てという神様の思し召しなんでしょうか。
もともとそんなくだらない戦いは望んじゃいなかったんですがね。
こんなんで勝ってヒーローとかバカバカしいにもほどがあるのに。
なんであたくしが選ばれたんでしょうか?
(右半分の式):=(!(c|d)&((a==c)|(b==d)).
分配法則より
(右半分の式)==(!(c|d) & (a==c))|(!(c|d) & (b==d)).
となる。
(与式)==((c|d)&(a==c)&(b==d))|(右半分の式)
==((c|d) & (a==c) & (b==d)) | (!(c|d) & (a==c)) | (!(c|d) & (b==d)).
さらに...(続く)
...(続き)
分配法則より
(与式)==((c|d) & (a==c) & (b==d) & !(c|d)) | ((c|d) & (a==c) & (b==d) & (a==c)) | (!(c|d) & (b==d))
==((c|d) & (a==c) & (b==d) & !(c|d)) | ((c|d) & (a==c) & (b==d)) | (!(c|d) & (b==d)).
ここで((c|d) & !(c|d))は偽であるから
(与式)==((c|d) & (a==c) & (b==d)) | (!(c|d) & (b==d)).
さらに...(続く)
>>65は間違い。
(
>>64から続く)...
分配法則より
(与式)==((a==c) & (((c|d) & (b==d)) | !(c|d))) | (!(c|d) & (b==d))
==((a==c) & (((c|d) | !(c|d)) & ((b==d) | !(c|d)))) | (!(c|d) & (b==d)).
ここで((c|d) | !(c|d))==0であるから
(与式)==((a==c) & (0 & ((b==d) | !(c|d)))) | (!(c|d) & (b==d))
==((a==c) & 0) | (!(c|d) & (b==d))
==0 | (!(c|d) & (b==d))
==!(c|d) & (b==d)
==!c & !d & (b==d) (計算終わり)
!c & !d & (b==d) でファイナルアンサー。
>>65 よくわからない分配律なのに何故か間違ってないでござる。
そいつはさらに簡単になるでござる。
>>66 ここで間違ってるでござる。
(c|d) | !(c|d)==1
(c|d) & !(c|d)==0
あちゃーまた間違えてたか。
c==1かつd==2のとき、(c|d) | !(c|d)==3になる。
(c|d) | !(c|d)は非ゼロであることは確か。
ブール代数の元に限定するなら1で正しいが。
お題:関数呼び出しを含まないC言語のブール代数式を簡略化するプログラムを作れ。
できるか?
>大阪府三島郡島本町の小学校や中学校は、暴力イジメ学校や。
島本町の学校でいじめ・暴力・脅迫・恐喝などを受け続けて廃人になってしもうた僕が言うんやから、
まちがいないで。僕のほかにも、イジメが原因で精神病になったりひきこもりになったりした子が何人もおる。
教師も校長も、暴力やいじめがあっても見て見ぬフリ。イジメに加担する教師すらおった。
誰かがイジメを苦にして自殺しても、「本校にイジメはなかった」と言うて逃げるんやろうなあ。
島本町の学校の関係者は、僕を捜し出して口封じをするな
子供の時に受けた酷いイジメの体験は、一生癒えない深い傷になる
「暴力とイジメと口裏合わせと口封じ」の町やそういう町に巣食うヤクザ・チンピラ・ゴロツキ・不良・
いじめっ子・殺人鬼・ダニ・ノミ・シラミなどを監視して非難するのは暮らしやすい町を作るのに必要だ
【閲覧注意】戦闘に巻き込まれて頭部を切断された少女の遺体。これがリアルなシリア。
http://dqnworld.com/archives/34.html これが本当の戦争の恐怖。この少女には大人の戦争は関係ないですからね。巻き込まれた少女の遺体を持って何か
を訴えかけている男たちの映像です。
【閲覧注意】シリアで反体制派の兵士が顔を吹き飛ばされてしまう瞬間。
http://dqnworld.com/archives/89.html スローモーションが怖すぎる・・・。
【閲覧注意】アッラーフアクバルを叫びながら少年を斬首する映像を公開する。
http://dqnworld.com/archives/3975.html 点滴?のようなものが見えるんだけど。助けられた少年じゃなかったのか。助けられた所を強奪されてアッラーフ
アクバル?なのかしら・・・。
【閲覧注意】磔にされた戦闘機パイロットの遺体。シリアにて。
http://dqnworld.com/archives/3996.html 今日のアッラーフアクバル動画。
【閲覧注意】この首吊り自殺、足スレスレだけど本当に死ねてる?
http://dqnworld.com/archives/4001.html 中国で撮影された首吊り自殺の映像です。既に死んでいると書いてあるけど自分で揺らしているようにみない?www
妻の目の前でぶっ飛ばされた旦那さん?これは死んだかな(°_°)
http://dqnworld.com/archives/4004.html さすがにこれだけ飛ばされたら助からないかな・・・。
【閲覧注意】あおむけでゲロを吐きまくっている男性。助けてやれよ・・・。窒息するぞ(@_@;)
http://dqnworld.com/archives/4007.html これ結構危ないんじゃないの?撮影してないで横向きにしてやれよ。これ窒息する可能性あるだろ。
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
F15DB
再帰的定義。再帰的計算。ハードウェアとソフトウェアの融合。計算科学の結晶。
ついでにこんなベンチを書いてシミュレーションしてみた。
library IEEE,WORK; use IEEE.std_logic_1164.all; use IEEE.std_logic_unsigned.all; use IEEE.std_logic_arith.all;
use WORK.FuncPrintf.all;
entity Test0010_tb is
end Test0010_tb;
architecture testbench of Test0010_tb is
component Test0010
port
( a,b,c,d : in boolean
; o : out boolean
);
end component;
signal a,b,c,d,o : boolean ;
signal x : std_logic_vector(4 downto 0) ;
begin
u : Test0010 port map (a,b,c,d,o);
a <= x(0) = '1';
b <= x(1) = '1';
c <= x(2) = '1';
d <= x(3) = '1';
x(4) <= '1' when o else '0';
process
begin
for i in 0 to 15 loop
x(3 downto 0) <= conv_std_logic_vector(i,4); wait for 1 ns;
printf("%02X\n",conv_integer(x));
end loop;
assert FALSE report "End." severity FAILURE;
end process;
end testbench;
結果は左から順に下記。
o <= ((c or d)and(a=c)and(b = d)) or ((not(c or d))and((a = c)or(b = d)));
o <= (not c)and(not d)and(b=d);
o <= (a=c)or(b=d);
o <= (a=c)and(b=d);
結果。
# 10 10 10 10
# 11 11 11 01
# 12 02 12 02
# 03 03 03 03
# 04 04 14 04
# 15 05 15 15
# 06 06 06 06
# 07 07 17 07
# 08 08 18 08
# 09 09 09 09
# 1A 0A 1A 1A
# 0B 0B 1B 0B
# 0C 0C 0C 0C
# 0D 0D 1D 0D
# 0E 0E 1E 0E
# 1F 0F 1F 1F