Gå til innhold

kalkulator i c++


Anbefalte innlegg

Jeg programmerte for en tid siden en kalkulator i c++..

Og nå begynte jeg å tenke:

 

Hvordan ( troretisk ) kan man lage en kalkulator?

 

Hvaslags prosessor ( man trenger en prosessor? ) trenger man?

 

Hvordan kan man programmere denne? Må det skje i assembly?

 

osv :)

Lenke til kommentar
Videoannonse
Annonse

Viss du allereie har programmert ein kalkulator kan du jo berre sjå gjennom den om du brukte asm ;)

 

Eigentleg forstår eg ikkje heilt kva du lurar på. Utan at eg i grunnen veit så mykje, trur eg at eg kan vere nokså sikker på at du slepp å bruka asm.

 

Men alt kjem jo ann på kor avangsert kalkulatoren skal vere. Skal han takle tal som er større enn maksverdien til ein integer? I så fall blir det jo litt avangsert.

 

Men ærleg talt; kva skal me med ein kalkulator til? :hmm:

Lenke til kommentar

Det er ikke så vanskelig å lage en kalkulator, men skal du lage den så liten som en du får kjøpe i butikken må du til å trykke kretskort og få maskiner til å lodde på chipene du skal bruke.

 

Dersom du skal lage en en kalkulator helt manuelt så trenger du egentlig ikke mer enn en liten programmerbar microchip, gjerne en som har litt minne, noen register, en instruksjonspeker og en aritmetisk/logisk enhet (ALU).

 

I tillegg trenger du en måte å få inn data på, dette kan gjørest ved at du kjøper et lite tastatur og sørger for å designe et eller annet interface som kan leses av mikrokontroller. Utdata kan du f.eks. gjøre enten ved hjelp av diode-lamper som f.eks. viser svaret binært (dette er veldig enkelt) eller du kan for å gjøre det ytterligere avansert ved å kjøpe et enkelt lite lcd-display.

 

Mikrokontrollere koder man typisk med et eller annen assembly-språk, ofte spesielt tilpasset den aktuelle chip'en du jobber med for øyeblikket. Men det generelle gjelder jo fremdeles, du popper/putter og jumper i/på/med register. I tillegg til å lese skrive fra minnet som sagt.

 

Hvor avansert man ønsker å lage kalkulatoren avhenger jo av hvor mange funksjoner du ønsker. Her er f.eks. IBM-ASM koden for å addere to tall, der [a] og er tall, ya?

 

mov ax, [a]

mov bx,

add ax, ax, bx

mov [c], ax

 

Som du ser, er det ikke akkurat noen heksekunst :-)

Lenke til kommentar

Vel, de tingene er som oftest integrert i en mikrokontroller skjønner du, f.eks. har denne her det du trenger http://www.hobbyelektronikk.no/catalog/pro...products_id=532

 

Faktisk så har den egentlig litt for mye dilldall til det du trenger nå i starten.

 

..Errm, så bør jeg kanskje få med at det krever litt utstyr å programmere kontrollerene.

 

Anyways, viss du er interessert i slikt som dette her så er det en stor del av pensum på diverse ingeniørstudium rundt om.

Endret av Atypic
Lenke til kommentar
hehe, tror du missforsto meg litt feil ;)

5379583[/snapback]

He, he. Les den linja ein gong til :) Eg missforstod, ja, men den setningen seier at det var meininga å missforstå, men at eg missforstod feil :)

*dårlig til å forklare*

 

det jeg mente var å lage en fysisk kalkulator.. slik man får kjøpt i bokhandler

5379583[/snapback]

Var ikkje C++-forumet ein litt feil plass? :hmm: Tråden bør flyttast til generell programmering ...

Lenke til kommentar
Vel C++:

veldig enkel (og dårlig kodet):

[...]

5383535[/snapback]

Gå ikkje i same fella som meg. Det står faktisk i retningslinjene at ein skal lese gjennom tråden før ein svarer. Dette vil neppe fungere på ein kalkulator ;)

Lenke til kommentar
Du burde få posten flyttet, er ikke så mange microchip/assembly folk her.

5383535[/snapback]

GCC støtter en lang rekke mikrokontrollere, så jeg ser ikke hvorfor posten ikke også kunne passe i C/C++-forumet.. :)

 

--Axel.

5388709[/snapback]

Det er vel heller mikrokontrollere som takler C/C++?

Lenke til kommentar

nei, de takler kun 0'ere og 1'ere

 

0'ere og 1'ere oversetter 0'ere og 1'ere til et annet format 0'ere og 1'ere .. forskjellen er at de 0'erene og 1'erene i midten er lettere å jobbe med og lese for mennesker

 

edit: så kan man spørre seg hvor 0'erene og 1'erene i starten kom fra .. kyllingen-og-egget? (hint: bootstrap)

 

gå tilbake til laffaen din du .. :scared: .. hehe

Endret av dayslepr
Lenke til kommentar
nei, de takler kun 0'ere og 1'ere

 

0'ere og 1'ere oversetter 0'ere og 1'ere til et annet format 0'ere og 1'ere .. forskjellen er at de 0'erene og 1'erene i midten er lettere å jobbe med og lese for mennesker

 

edit: så kan man spørre seg hvor 0'erene og 1'erene i starten kom fra .. kyllingen-og-egget?  (hint: bootstrap)

 

gå tilbake til laffaen din du ..  :scared:  .. hehe

5413456[/snapback]

Støvelstropping (aka bootstrapping) er vel grunnlaget bak det meste... :p

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...