1 - Mathematics is the language of nature. 2 - Everything around us can be represented and understood through numbers. 3 - If you graph the numbers of any system, patterns emerge.
Dit is overigens meer iets voor EL. SG->EL
1 - Mathematics is the language of nature. 2 - Everything around us can be represented and understood through numbers. 3 - If you graph the numbers of any system, patterns emerge.
Met zowel een NAND als een NOR kan het (iig) wel
Er is in ieder geval een poort waarmee je de andere kunt maken...
Kan het dus wel met een nen-poort? Zo ja, hoe?
1 - Mathematics is the language of nature. 2 - Everything around us can be represented and understood through numbers. 3 - If you graph the numbers of any system, patterns emerge.
Het kan inderdaad zowel met NOR als NAND, omdat je met een bepaalde aaneenschakeling van meerdere van die poorten, een systeem krijgt dat zich gedraagt als een van de andere poorten.
Welke poort wil je precies maken? Want het is nogal veel werk om voor elke poort het vervangings-schema van in NANDS of NORS te geven

Maar eigenlijk ben ik op zoek naar dat programmaatje dat voor mij zo'n schakeling maakt. Ik heb 'm gehad, maar kan 'm nu nergens meer vinden.
[ Voor 10% gewijzigd door Galois op 30-09-2006 15:58 ]
1 - Mathematics is the language of nature. 2 - Everything around us can be represented and understood through numbers. 3 - If you graph the numbers of any system, patterns emerge.
I do not fear computers, I fear the lack of them - Isaac Asimov
"With enough eyeballs, all bugs are shallow" - Eric Raymond
Nee, klopt. Ik vergiste mij. Het is inderdaad een NAND.Electronical schreef op zaterdag 30 september 2006 @ 15:55:
Een NAND (of een NOR) is inderdaad functioneel compleet, in tegenstelling tot de AND. Dit betekent dat iedere andere poort (Boolse operator) uit een verzameling NANDs (of NORs) gemaakt kan worden. Het zal je nimmer lukken om alle Boolse operatoren met een conjunctie (AND) te implementeren.
1 - Mathematics is the language of nature. 2 - Everything around us can be represented and understood through numbers. 3 - If you graph the numbers of any system, patterns emerge.
Je zou in ieder geval even op http://en.wikipedia.org/wiki/NOR_logic en http://en.wikipedia.org/wiki/NAND_logic kunnen kijken voor wat voorbeelden.
Je kunt ook eventjes de tijd nemen, en elke poort uitwerken
Heb k ook ooit moeten doen, tijdens schakeltechniek.
Op zich is dat goed te doen binnen 45 minuten, met logisch denken.
Ja, dat is het ook. Maar ik vond het een geweldig programmaatje en wil 'm eigenlijk weer terug! ;-)DrEvil1986 schreef op zaterdag 30 september 2006 @ 16:00:
Een dergelijk programma kan ik je denk ik niet aan helpen...
Je kunt ook eventjes de tijd nemen, en elke poort uitwerken
Heb k ook ooit moeten doen, tijdens schakeltechniek.
Op zich is dat goed te doen binnen 45 minuten, met logisch denken.
1 - Mathematics is the language of nature. 2 - Everything around us can be represented and understood through numbers. 3 - If you graph the numbers of any system, patterns emerge.
Dan kan je gaan uitpuzzelen wat je nodig hebt.
(Waarheidstabel is waar alle ingangen alle mogelijke signalen (dus altijd 1 of 0 hebben) en dat dat in een tabel zet.)
VB: And poort (A en B zijn ingangen, C uitgangen)
A|B|C
0|0|0
1|0|0
0|1|0
1|1|1
* Herinnert zich dat die dit soort spul in een proefwerk heeft gehad
Als je het met de hand wil uitzoeken wat je nodig hebt, zou ik ook eens gaan zoeken naar Karnaugh maps etc. Met behulp van Karnaugh maps kun je vrij snel zien wat je moet doen om jou gewenste waarheidstabel te implementeren in logica. Als je daarnaast weet hoe je de elementaire Boolse operatoren kan maken met NANDs of NORs, dan kom je waarschijnlijk al een heel eind. Tevens kun je, als je nog steeds bezig wil blijven met dit soort dingen, gaan kijken of SIS (UC Berkeley) iets voor je kan betekenen. SIS kan bijv. een waarheidstabel voor je omzetten in logica en eventueel nog optimaliseren ook.DrEvil1986 schreef op zaterdag 30 september 2006 @ 16:00:
Een dergelijk programma kan ik je denk ik niet aan helpen...
Je kunt ook eventjes de tijd nemen, en elke poort uitwerken
Heb k ook ooit moeten doen, tijdens schakeltechniek.
Op zich is dat goed te doen binnen 45 minuten, met logisch denken.
[ Voor 3% gewijzigd door Electronical op 30-09-2006 16:08 . Reden: url toegevoegd ]
I do not fear computers, I fear the lack of them - Isaac Asimov
"With enough eyeballs, all bugs are shallow" - Eric Raymond
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
| /* * Function written by blackangel * aka: Rolf van Leusden * to show that with a NAND, * everything is possible */ #include <stdio.h> // make printf possible int nand(int i, int j) { return !(i&j); } int inv(int i) { return nand(i,i); } int and(int i, int j) { return inv( nand(i, j)); } int xor(int i, int j) { return nand( nand(i, inv(j)), nand(inv(i), j)); } int or(int i, int j) { return nand(inv(i), inv(j)); } int main(void) { int i; printf("\nJust a NAND\n"); for(i=0;i<4;i++) printf("%d %d | %d\n", i/2, i%2, nand(i/2,i%2)); printf("\nINV maked of NAND's\n"); for(i=0;i<2;i++) printf("%d | %d\n", i, inv(i)); printf("\nAND maked of NAND's\n"); for(i=0;i<4;i++) printf("%d %d | %d\n", i/2, i%2, and(i/2,i%2)); printf("\nOR maked of NAND's\n"); for(i=0;i<4;i++) printf("%d %d | %d\n", i/2, i%2, or(i/2, i%2)); printf("\nXOR maked of NAND's\n"); for(i=0;i<4;i++) printf("%d %d | %d\n", i/2, i%2, xor(i/2, i%2)); return 1; } |
Om even heel simpel uit te leggen.
Eerst worden er een aantal functies gedeclareerd. Om precies te zijn de interessantere bekendere invertor, and, xor, or en aan het begin ook nog even een nand voor de duidelijkheid
Deze functies wordt in het mainprogramma (hoofdprogramma) meerdere malen aangeroepen, maar kunnen ook in andere functies aangeroepen worden
De forloops in het main-programma werken als volgt:
Stel i in op 0
Is i kleiner dan 4? Zo ja, dan is deze forloop afgelopen.
Zo nee, ga een regel printen. Bij printf is de eerste variabele een string, met ruimte voor variabelen. Die variabelen worden vooraf gegaan door een %. Nu gebruiken we een %d omdat we een decimal printen
Het grotere probleem zal waarschijnlijk zijn, als je niet bekend bent met c, de i/2 en i%2.
i/2 = i gedeeld door twee, naar beneden afgerond.
i/2 = i gedeeld door twee, en de restwaarde wordt gegeven. Bij i%2 wordt dus gekeken of het even is of oneven
i=0: i/2=0, i%2=0
i=1: i/2=0, i%2=1
i=2: i/2=1, i%2=0
i=3: i/2=1, i%2=1
Omdat niet iedereen een compiler heeft liggen heb ik ook nog maar even de output voor je:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| limitrophe# gcc test.c -o test limitrophe# ./test Just a NAND 0 0 | 1 0 1 | 1 1 0 | 1 1 1 | 0 INV maked of NAND's 0 | 1 1 | 0 AND maked of NAND's 0 0 | 0 0 1 | 0 1 0 | 0 1 1 | 1 OR maked of NAND's 0 0 | 0 0 1 | 1 1 0 | 1 1 1 | 1 XOR maked of NAND's 0 0 | 0 0 1 | 1 1 0 | 1 1 1 | 0 limitrophe# |
Overigens had ik van Electronical en DrEvil wel verwacht dat die dit uit hun hoofd wisten
Mocht je overigens hiermee nog steeds niet verder komen voor het oplossen van je boolean-algebra, dan kun je inderdaad SIS gebruiken. Vervolgens vervang je dan alle OR's e.d. door bovenstaande NAND-combinaties
[/studieontwijkend gedrag]
Nee, ik ga het niet ook nog 'even' schrijven voor NOR's
Nee echtDrEvil1986 schreef op zaterdag 30 september 2006 @ 15:54:
Toevallig laatst nog over gehad (Elektrotechniek)
WatjeDrEvil1986 schreef op zaterdag 30 september 2006 @ 15:54:Welke poort wil je precies maken? Want het is nogal veel werk om voor elke poort het vervangings-schema van in NANDS of NORS te geven
[ Voor 5% gewijzigd door blackangel op 30-09-2006 16:58 ]