Hallå allihopa!
Som vissa av er kanske har märkt så har jag, i någon dag, byggt på en miniräknare i lek :)
Jag ska, i denna tråden, föra en lätt logg över arbetet och även försöka förklara lite redstone för er som är intresserade :D

För att ni ska kunna förstå det mesta i denna tråden så måste ni ha en lätt förståelse för binära tal eftersom att det är det som hela maskinen går på.

Binära tal, förklaring
Binära tal är datorernas motsvarighet till våra tiotal, 0-9, men skillnaden är att alla deras tal står antingen som 1or eller 0or vilket kan försvåra utläsandet av ett tal lite.
Jag kan ge några exempel!
Talet 1 skrivs likadant i båda systemen och utgör grunden i båda.
talet 2 skrivs på binär kod som 01
talet 3 skrivs på binär kod som 11

Ni kanske märker ett mönster redan men ska ge några exempel till innan jag kan ge en bra förklaring :)

Decimaltal-Binärt tal
1-1
2-01
3-11
4-001
5-101
6-011
7-111
8-0001
9-1001

Detta kanske ser konstigt ut men det är väldigt enkelt att förklara.
Varje ny siffra i ett binärt tal är dubbla det talet till vänster om en, alltså, längst till vänster är talets värde 1, siffran till höger om den är värd det dubbla, 2, det fortsätter så med 4,8,16 o.s.v.
Sen adderar man ihop talen på en rad för att få till ett tal på decimal form.
T.ex. talet 7 skrivs på binär form som 111. Detta kan vi räkna om till decimalform genom att addera ihop talen: 1+2+4 = 7.

Jag anser att jag har förklarat grunderna och om det är någon som vill ha en extra lektion så är det bara att starta ett samtal med mig på ts så löser vi det :D

Edit!
Infate hittade ett litet misstag som jag har råkat få för mig, jag har råkat hitta på lite eget här och har i stort sett spegelvänt hela maskinen. Men tänker behålla den såhär ändå :)

Rättade binära koden:
Infate sa:
Ursäkta mig men du räknat lite galet :p

Rättelse

1 - 1
2 - 10
3 - 11
4 - 100
5 - 101
6 - 110
7 - 111
8 - 1000
9 - 1001
10 - 1010

Tar ett exempel. Du har tagit 8 decimalt. och du sätter 0001 på den. Det går inte att öka ett binärt värde genom att sätta en massa nollor före den första ettan i talet, det går däremot bra att ha hur många nollor som helst efter första ettan, då blir talet väldigt stort, men korrekt.

De binära talen 1, 01, 001 och 0001 Är alltså fortfarande bara 1 :)

Men mitt system utgår från min "felaktiga" syn av binär kod, detta eftersom att det korrekta går inte att skapa ett system ur :D


Nu tillbaka till bygget!

Det började väldigt enkelt med att jag byggde den slutliga delen, binärtalsavkodaren och displayen.
Detta kanske låter avancerat men jag ska försöka förklara.
En binärtalsavkodare byggs i minecraft som bilden nedan visar
ZhYSxk

Jag har skrivit ut siffrorna för att ge er en bättre bild var signalerna går in i maskinen.
Ställningarna på facklorna är avgörande och i den föregående bilden så motsvarar signalen siffran 0.
Nästa bild är facklorna arrangerade för att motsvara siffran 1
XULxT5

Här ser ni att facklan under "1" skylten står rakt vilket gör att denna stationen skickar iväg en signal när det totala värdet = 1.
De följande bilderna gäller värderna 2-7 och jag ger en kort förklaring efter :)
mt8zQC

hMHLdY

XHwrdA

KAzTJa

DpFAYM

3T8LD9


Som ni ser så adderar maskinen ihop de binära talen och avgör därigenom om den ska skicka vidare sin signal. Min avkodardesign har en rad för varje siffra och jag har 64 möjliga siffror vilket ger 64 rader och ser ut så här
JRngqx

Detta är det kompaktaste systemet som verkar existera och det funkar helt perfekt och går inte att förstöra, det är idiotsäkert. :)
De olika färgerna i min rad är för att jag lätt ska hitta bland dem och har ingen annan funktion, röda är ojämna tal och blåa är jämna tal. Mina rader är även lite bredare än de föregående bilderna då min maskin går upp till 32 och inte 4.

Efter att jag byggde klar själva avkodarna så behövde jag fortfarande bygga displayen och koppla ihop de båda!

Detta löses ganska lätt då varje display bara är 7 olika lampsektioner och dessa bara ska aktiveras.
Varje avkodar-rad går upp till en egen del genom en ganska okomplicerad men väldigt jobbig att bygga redstone-rad
Q9S0jV

Dessa går upp till de grön-rosa delarna som då innehåller informationen för hur varje siffra ska se ut och sen ska transportera vidare detta till lamporna.
sEHSc0

De gröna delarna i genomsnitt ser ni nedan och redstone facklorna motsvarar på ena bilden siffran 8 och på andra siffran 1 (gissa vilken av dem som är vilken :lol: )
SKyxzh

6Cs3wy

De rosa blockraden för sedan vidare signalerna till displayen.
Nrxvqj


Uppdaterar allteftersom jag blir klar med de olika delarna, det som är kvar är
  • Adderare
    Subtraherare
    Multiplicerare
    Dividerare
    Signaluppdelare
    Någon form av kontrollrum

Hoppas ni uppskattar! :D

Mvh Von :ugeek: Martinsson
 
Detta har du gjort bra vonmartinsson
Stort plus för dina beskrivningar och bilder tycker jag =)


Mvh Mikael1982
 
Ursäkta mig men du räknat lite galet :p

Rättelse

1 - 1
2 - 10
3 - 11
4 - 100
5 - 101
6 - 110
7 - 111
8 - 1000
9 - 1001
10 - 1010

Tar ett exempel. Du har tagit 8 decimalt. och du sätter 0001 på den. Det går inte att öka ett binärt värde genom att sätta en massa nollor före den första ettan i talet, det går däremot bra att ha hur många nollor som helst efter första ettan, då blir talet väldigt stort, men korrekt.

De binära talen 1, 01, 001 och 0001 Är alltså fortfarande bara 1 :)
 
Infate sa:
Ursäkta mig men du räknat lite galet :p

Rättelse

1 - 1
2 - 10
3 - 11
4 - 100
5 - 101
6 - 110
7 - 111
8 - 1000
9 - 1001
10 - 1010

Tar ett exempel. Du har tagit 8 decimalt. och du sätter 0001 på den. Det går inte att öka ett binärt värde genom att sätta en massa nollor före den första ettan i talet, det går däremot bra att ha hur många nollor som helst efter första ettan, då blir talet väldigt stort, men korrekt.

De binära talen 1, 01, 001 och 0001 Är alltså fortfarande bara 1 :)

oj mitt fel :$ men har gjort maskinen spegelvänt isåfall ;) fel av mig!
 
Om jag inte har helt fel här nu (vilket är fullt möjligt) så skriver man väl ut hela biten?
En bit = 8 tecken. Alltså blir:
1 = 00000001
2 = 00000010
3 = 00000011
osv.
Iaf när det handlar om siffror.
 
nautori sa:
Om jag inte har helt fel här nu (vilket är fullt möjligt) så skriver man väl ut hela biten?
En bit = 8 tecken. Alltså blir:
1 = 00000001
2 = 00000010
3 = 00000011
osv.
Iaf när det handlar om siffror.

Om man ska gå efter konstens alla regler så ja, men som infate sa så är det bara onödiga nollor och det är som om man skulle skriva det decimala talet 10 som 0000000010. Det skulle bara ta upp onödig plats :p
 
Inte om man ska skriva ut det binära talet, då måste man ha med alla 8 tecken, annars vet man inte vart ett nummer börjar eller slutar.
Fast du ska ju iof inte det så du/ni har nog helt rätt med att det skulle ta massa onödig plats =)
 
Koolt bygge. Nu replicerar du detta i world! :D

btw...

10000 = 20 = 16 = 10

och

10 = 2
10 = 8
10 = 10
10 = 16

Lite tydligare med talbas indikator. ;)
b10
010
10
0x10
 
Vet inte om jag är den ända som inte förstår ett skit om det där med binära tal? :oops: :lol:
Och undrar om jag borde göra de, menar börjar ju snart gymnasiet osv :cool: Aja... De jag inte vet om skadar mig inte.. :lol:
 
Laumola96 sa:
Vet inte om jag är den ända som inte förstår ett skit om det där med binära tal? :oops: :lol:
Och undrar om jag borde göra de, menar börjar ju snart gymnasiet osv :cool: Aja... De jag inte vet om skadar mig inte.. :lol:

Well sen vet du också inte att "ända" egentligen stavas enda, i ditt sammanhang. Du förstår, ända betyder slut, eller slutdel, såsom bakdel. Med andra ord -rumpa.

Laumola96 sa:
Vet inte om jag är den rumpan som inte förstår...
 
Haha oj.. Jo jag vet hur de stavas men när jag inte tänker på vad jag skriver riktigt så blir de lätt sånt där :D
 
Derekerium sa:
Laumola96 sa:
Vet inte om jag är den ända som inte förstår ett skit om det där med binära tal? :oops: :lol:
Och undrar om jag borde göra de, menar börjar ju snart gymnasiet osv :cool: Aja... De jag inte vet om skadar mig inte.. :lol:

Well sen vet du också inte att "ända" egentligen stavas enda, i ditt sammanhang. Du förstår, ända betyder slut, eller slutdel, såsom bakdel. Med andra ord -rumpa.

Laumola96 sa:
Vet inte om jag är den rumpan som inte förstår...
Haha, precis vad jag tänker varje gång någon skriver enda så :p

Angående binära tal, jag har gått ut gymnasiet och fattar inte det där. Det beror nog helt på vilken inriktning du har valt. Det kanske är bra att kunna om man går en datorlinje :)
 
Zinga sa:
Derekerium sa:
Laumola96 sa:
Vet inte om jag är den ända som inte förstår ett skit om det där med binära tal? :oops: :lol:
Och undrar om jag borde göra de, menar börjar ju snart gymnasiet osv :cool: Aja... De jag inte vet om skadar mig inte.. :lol:

Well sen vet du också inte att "ända" egentligen stavas enda, i ditt sammanhang. Du förstår, ända betyder slut, eller slutdel, såsom bakdel. Med andra ord -rumpa.

Laumola96 sa:
Vet inte om jag är den rumpan som inte förstår...
Haha, precis vad jag tänker varje gång någon skriver enda så :p

Angående binära tal, jag har gått ut gymnasiet och fattar inte det där. Det beror nog helt på vilken inriktning du har valt. Det kanske är bra att kunna om man går en datorlinje :)

Jag gick livsmedel... det närmsta en dator vi kom va miniräknarna som vi använde för att ändra recept...
Handlar nog mer om vad man är intresserad av på fritiden.
Och för att inte hamna allt för långt ner i OT-hålet: Beröm till dig som suttit och kopplat all redstone! Ofattbart coolt att man kan göra sådana här saker i minecraft =)
 
Jobba/plugga data = lär dig talbaserna.
Allt bygger på bitar å bytes (8 bitar i klunga) å hextal.
 
Tycker man att det är roligt så lär man sig det :D
Sen kanske det hjälper att gå natur ibland, förutom när det slår fel i skallen :D
 
Tillbaka
Topp