0と1とNULL
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@1周年
NGNGコンピューターは0と1とNULL、この3値をデフォルトにするべきです。
つまり3進数。かなりマジです。
0002sage
NGNG00031
NGNGこれ間違いです。つっこまないでね!!
00041
NGNGネタじゃないです。
NULLは、1つの確固たる存在として独立させるべきなんです!!
0005名無しさん@1周年
NGNGあと、iやloopのようなカウンタはOSが自動的に用意してくれるべきでしょう。
0006名無しさん@1周年
NGNG0007名無しさん
NGNGhttp://www.crt.or.jp/~kokochi/hen_semi.htm
このページの作者様でおられますか?
もし違うならぜひお友達になってもらいなさい。
0008名無しさん@そうだ選挙にいこう
NGNG効率がいいらしい。
0009馬鹿厨房
NGNGだれかこの厨房発言の裏打ち求ム。
0010名無しさん@1周年
NGNG整数ならば2or3。
まぁこれは速度的な話ではないのですが…
3値論理って昔考えたコトが有るんだけど、けっこう難儀っすよ。
実モデルへの適用が思い浮かびづらいんですね。
2値論理の延長だと、たちまち破綻します (^^;)
各値の否定値をどう取るのか考えてみてください。
理解できそうな(実モデルに適用できそうな)ルールを
ひねり出すと、それはnビットの2値論理だったりします。
0011名無しさん@1周年
NGNG0012名無しさん@
NGNG0013名無しさん@1周年
NGNG0014多値論理万歳
NGNG00151
NGNG結局突き詰めていけば、0と1と無効値の3値になる(と思った)わけなんですが
そこまでは求めてなくて、これはCの場合なんですが、intやwordなど各型ごとに
NULL値も加えるべきだと思ったんです。
例えば、年齢をあらわすUINT型の変数ageがあったとしましょう。
この変数単体を見た場合、ageが保持している数値が有効な値なのか、無効な
数字の羅列なのか判断する術は無いでしょう。
あと、よくある話ですが、あるポインタがあって
それの保持している値が有効なのか否か、これも現状では判断することは
出来ませんよね。
0016>10
NGNG作られていますよ。
0018名無しさん@1周年
NGNGえーと、なんていうんだっけ?
ハイインピーダンスじゃなくて・・・フローティングじゃなくて・・・
001910>16
NGNG数値演算なら何進でも問題無いんですけどね。
論理演算(条件式とか)を考えると、アタマ痛いんですよ。
一番わかりやすいのが論理否定。
3値にしちゃうと、0の否定が1、1の否定が2、2の否定が0にするしかないんですね。
0-1@`1-0にしちゃうと2の否定を導入する必要があって
結句4値(2bitの2値)になっちゃうんですよ。
0-1@`1-2@`2-0も「じゃんけん」という身近な例があるのですが
いざ実アプリに使おうとすると、モデル化でアタマをひねることになったんです。(^^;)私の場合
002010
NGNG3つめの値として「不定」を考えると…
「不定」と「不定のNOT」の「OR」は「常に真」(^^;)
結局4値になっちゃったんですね。
0021名無しさん@1周年
NGNG0022名無しさん@お胸おっぱい。
NGNGはいいんぴーだんす (High-Z) で、よいのでわ?
0023名無しさん@1周年
NGNGもう10数年前の話だが(^^
で、やっぱり実装面で2値の方が良いからって話だったようなきがするな。
0024名無しさん@1周年
NGNG14も悪質だな。HDLしらない人間にわかるとは思えない。
U: 未初期化
X: 強い不定
0: 強い0
1: 強い1
Z: ハイインピーダンス
W: 弱い不定
L: 弱い0
H: 弱い1
-: don't care
だね。
トライステートバッファなんかは0@`1@`Zの3値を使うね。
0025名無しさん@1周年
NGNG!0==1 ; !1==0 ; !Z==Z;
0 OR 0 ==0 ; 0 AND 0 ==0;
Z OR 0 ==0 ; Z AND 0 ==0;
0 OR 1 ==1 ; 0 AND 1 ==0;
Z OR 1 ==1 ; Z AND 1 ==1;
1 OR 1 ==1 ; 1 AND 1 ==1;
0026名無しさん@そうだ選挙にいこう
NGNGは、使いにくそうだな‥
0027名無しさん@1周年
NGNG0 XOR 0 = 0 : 0 EQV 0 = 1 : 0 IMP 0 = 1
Z XOR 0 = 0 : Z EQV 0 = 0 : Z IMP 0 = Z
0 XOR 1 = 1 : 0 EQV 1 = 0 : 0 IMP 1 = 1
Z XOR 1 = 1 : Z EQV 1 = 0 : Z IMP 1 = 1
1 XOR 1 = 0 : 1 EQV 1 = 1 : 1 IMP 1 = 1
0 XOR Z = 0 : 0 EQV Z = 0 : 0 IMP Z = 1
1 XOR Z = 1 : 1 EQV Z = 0 : 1 IMP Z = 0
Z XOR Z = 0 : Z EQV Z = 1 : Z IMP Z = 1
あ、論理等価が排他的論理和の否定になってない。
>>26
はあ?
002825
NGNG!(a AND b) == (!a OR !b) を満足させなきゃいけないから
!(Z AND Z)== (Z OR Z) じゃなきゃいけない
だから Z AND Z==0 で Z OR Z==1か
Z AND Z == Z OR Z==Z かどっちかだな
002927
NGNG排他的論理和=論理等価の否定だから、それをふまえてXORを書き直してみる。
論理等価は>>27で確定でいいと思うけどどうだろう?
0 XOR 0 = 0
0 XOR Z = 1
0 XOR 1 = 1
Z XOR 0 = 1
Z XOR Z = 0
Z XOR 1 = 1
1 XOR 0 = 1
1 XOR Z = 1
1 XOR 1 = 0
論理包含はあれでいいのかな?
0030>29
NGNG003127>30
NGNGうむ、それはそれで説得力あるかも。
003225
NGNG交換則
分配則
ドモルガンの法則
他にあるかな
0033名無しさん@1周年
NGNG設計(当然ハードウェア)の話なら、結構あります。雑誌インターフェース
でも説明記事があった。
0034>33
NGNGごく基本的な設計だとは思うが
0035名無しさん@1周年
NGNGZを含む全ての論理演算の結果はZになるとすりゃいいんだよ
Z AND ?=Z ; Z OR ?=Z ; NOT Z=Z;
これでドモルガンも分配則も皆満たす筈
0036rootan
NGNGPL/SQL だと BOOLEAN 型には TRUE と FALSE あと NULL の 3 値
がありますね。
変数も初期化していないと確か値は NULL (不定) だったような。
DB オリエンテッドだからなのかな。いまだに不思議です。
0037HG名無しさん
NGNGするのがよろしいようで。
0038>34
NGNG0か1かのどちらかが返るけど結果を信頼できない状態。
ってのを定義するんです。
0039>38
NGNG0040名無しさん@1周年
NGNG0041>35
NGNG0042>41
NGNGZ xor Z = ! ( ( Z and Z ) or (!Z and !Z) )
=!( ( Z and Z ) or ( Z and Z ) )
=!( Z or Z )
=Z
0043名無しさん@1周年
NGNGvoidは値じゃなく型のほうだと思うんだけど。
0044名無しさん@1周年
NGNG■ このスレッドは過去ログ倉庫に格納されています