Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

en-poort

Pagina: 1
Acties:
  • 116 views sinds 30-01-2008
  • Reageer

  • Galois
  • Registratie: Oktober 2002
  • Laatst online: 16:11

Galois

1811 - 1832

Topicstarter
Ik kan mij herinneren dat je mbv en-poorten elke andere logische poort kunt maken.

Maar ik heb geen idee meer hoe. En ik kan helaas niets vinden via google. Ik heb ooit zo'n programma gehad waar ik intikte wat ik wilde en hij dan voor mij een schakeling maakte met alleen maar en-poorten.

Weet iemand wat ik bedoel? En waar ik het kan vinden?

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.


  • Rukapul
  • Registratie: Februari 2000
  • Laatst online: 19:14
Je bedoelt de NAND gate denk ik. Het is allemaal terug te vinden in http://en.wikipedia.org/wiki/Logic_gate .

Dit is overigens meer iets voor EL. SG->EL

  • Galois
  • Registratie: Oktober 2002
  • Laatst online: 16:11

Galois

1811 - 1832

Topicstarter
Nee, dat bedoel ik niet. Met een aantal en-poorten (AND-gates) kun je elke andere poort maken. De uitgang van de ene gebruik je als ingang van een andere en uiteindelijk is het systeem van bv 5 en-poorten tezamen, heeft dezelfde functie als één of-poort (bijvoorbeeld).

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.


  • blackangel
  • Registratie: April 2002
  • Laatst online: 20:36
Met een AND is dat niet mogelijk, omdat je geen inverter kunt maken.

Met zowel een NAND als een NOR kan het (iig) wel :)

  • Zjosh
  • Registratie: November 2004
  • Laatst online: 20-11 12:58
Ik geloof niet dat je met een normale and een nand kan maken, dus ik denk dat jij op zoek bent naar nands. Als je wil weten hoe dat moet... euhm.. bij ons was het bouleanse technologie, maar dat was een benaming van de leraar. Ik weet niet hoe het in het echt heet. Logish rekenen ofzo.

  • Galois
  • Registratie: Oktober 2002
  • Laatst online: 16:11

Galois

1811 - 1832

Topicstarter
Het kan inderdaad ook dat het met een andere poort was. Met een nen-poort of zo.

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.


  • DrEvil1986
  • Registratie: Januari 2003
  • Laatst online: 16-11 20:30
Toevallig laatst nog over gehad (Elektrotechniek :P)
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 :P

  • Galois
  • Registratie: Oktober 2002
  • Laatst online: 16:11

Galois

1811 - 1832

Topicstarter
Na veel prusten is het mij inderdaad gelukt om van drie nen-poorten een of-poort te maken.

Afbeeldingslocatie: http://img242.imageshack.us/img242/193/nenrj7.jpg

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.


  • Electronical
  • Registratie: Juli 2004
  • Laatst online: 18-11-2020
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.

I do not fear computers, I fear the lack of them - Isaac Asimov
"With enough eyeballs, all bugs are shallow" - Eric Raymond


  • Galois
  • Registratie: Oktober 2002
  • Laatst online: 16:11

Galois

1811 - 1832

Topicstarter
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.
Nee, klopt. Ik vergiste mij. Het is inderdaad een NAND.

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.


  • LWY
  • Registratie: September 2004
  • Laatst online: 29-07-2022

LWY

= Louie

Maar wat voor een poort / functie wil je nu precies maken?
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.

  • DrEvil1986
  • Registratie: Januari 2003
  • Laatst online: 16-11 20:30
Een dergelijk programma kan ik je denk ik niet aan helpen...
Je kunt ook eventjes de tijd nemen, en elke poort uitwerken :P
Heb k ook ooit moeten doen, tijdens schakeltechniek.
Op zich is dat goed te doen binnen 45 minuten, met logisch denken.

  • Galois
  • Registratie: Oktober 2002
  • Laatst online: 16:11

Galois

1811 - 1832

Topicstarter
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 :P
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! ;-)

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.


  • P-Storm
  • Registratie: September 2006
  • Laatst online: 15:46
Misschien helpt het je om een waarheidstabel te maken van wat je precies nodig hebt.
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

  • Electronical
  • Registratie: Juli 2004
  • Laatst online: 18-11-2020
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 :P
Heb k ook ooit moeten doen, tijdens schakeltechniek.
Op zich is dat goed te doen binnen 45 minuten, met logisch denken.
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.

[ 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


  • blackangel
  • Registratie: April 2002
  • Laatst online: 20:36
Ik hoop dat je c kunt of anders het in ieder geval bereid bent om te leren:

C:
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 :) De boolean-algebra van c hoef je niet te begrijpen, accepteer voor het gemak even dat die nand zo klopt :)
Deze functies wordt in het mainprogramma (hoofdprogramma) meerdere malen aangeroepen, maar kunnen ook in andere functies aangeroepen worden :) Er worden 2 variabelen in gestopt (behalve bij inv, namelijk maar 1) en er komt vervolgens een getal uit. Dat getal kan geprint worden of gebruikt als variabele in een andere functie :)

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 :) \n is newline. Nadat de string is afgelopen (de eerste inputparameter die voor printf altijd tussen "" staat), worden de variabelen geprint. De 1e %d die in de string staat is de 2e parameter van printf, de 2e %d die in de string staat is de 3e parameter, etc.

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:
code:
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 :X :P


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 :X
DrEvil1986 schreef op zaterdag 30 september 2006 @ 15:54:
Toevallig laatst nog over gehad (Elektrotechniek :P)
Nee echt :+
DrEvil1986 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 :P
Watje :+

[ Voor 5% gewijzigd door blackangel op 30-09-2006 16:58 ]

Pagina: 1