Forum: Egen int

Forum huvudsida -> Programmering -> Egen int

Sidor: 1

Till botten

Dojjan 13:57 - 14:e Augusti 2005 | Post #1
Medlem
Inlägg: 114


Skicka PM
Funderar på hur man gör en egen int, som tex en 64 bitars eller enbart en 16 bitars. Det jag vill veta är grundprinsipen eftersom man här inte (antar jag) baserar klassen på andra klasser. Så frågan: Hur gör man helt enkelt?




Celeron 17:14 - 14:e Augusti 2005 | Post #2
Medlem
Inlägg: 418


Skicka PM
Varför? Jag vet inte om det går att göra, för någon/några variabel/varibler måste du ju ha.

-------------------------
Det viktigaste är att ha roligt! Har ny hemsida: http://www.freewebs.com/cpperik/



FunkyChicken 21:04 - 14:e Augusti 2005 | Post #3
Nyhetsredaktör
Inlägg: 800


Skicka PM
int är inte en klass, utan en datatyp. Väl? I cpp iaf?




Dojjan 21:07 - 14:e Augusti 2005 | Post #4
Medlem
Inlägg: 114


Skicka PM
Du måste ju kunna utveckla en egen, eller hur? Annars vore det en enorm begränsning.




FunkyChicken 21:12 - 14:e Augusti 2005 | Post #5
Nyhetsredaktör
Inlägg: 800


Skicka PM
egna datatyper tror jag inte att man kan göra. man kan förstås härma dem genom att göra en klass som håller reda på en bytearray eller ett register eller nåt, eller göra en struct med bara en int i, men det känns ju lite meningslöst...




Dojjan 21:30 - 14:e Augusti 2005 | Post #6
Medlem
Inlägg: 114


Skicka PM
Klart man kan - hur gjorde annars snubbarna på microsoft int:en från början?




Independence 22:18 - 14:e Augusti 2005 | Post #7
Administratör
Inlägg: 1800


Skicka PM
"hur gjorde annars snubbarna på microsoft int:en från början?"

Vilken motbjudande mening, nästan så jag har lust att låsa tråden eller så. Eek.
Hursomhelst så är det väl så att datatyperna är definerade inte i STL utan i själva språket och således måste man nog ändra i koden till kompilatorn om man vill göra en egen datatyp. Någon anledning att göra en egen datatyp finns nog dock inte tyvärr. 8, 16 och 32-bitars int finns ju redan, och säkert många andra. I andra fall kan man ju använda någon annan variabeltyp och fulhacka lite.

-------------------------

Vi är riddarna som säger fiskbulle!





Lajnold 02:20 - 15:e Augusti 2005 | Post #8
Medlem
Inlägg: 65


Skicka PM
Ta mitt inlägg med en nypa salt. Jag är inte säker på att det jag skriver stämmer helt.

De inbyggda datatyperna är sånt som det finns stöd för direkt i processorn (har med storleken på registrena att göra). Det är också möjligt att skapa egna klasser som uppför sig som de inbyggda datatyperna. Exempel på sådana är NTL och GMP. En fördel med det är att man då kan skapa variabler som rymmer större tal och/eller har större precision på flyttal. Ska man skapa någon sådan klass så får man nog göra ungefär som FunkyChicken skrev.

-------------------------
Ingen signatur!



Celeron 08:03 - 15:e Augusti 2005 | Post #9
Medlem
Inlägg: 418


Skicka PM
Man kan göra egna datatyper med enum, men det är ganska meningslöst eftersom det bara ger en typ som har ett antal konstanter. Man skulle kunna göra en klass som kan ta hand om stora tal, men du måste ju ändå använda int eller andra variabler.

-------------------------
Det viktigaste är att ha roligt! Har ny hemsida: http://www.freewebs.com/cpperik/



Tynnhammar 08:41 - 16:e Augusti 2005 | Post #10
Medlem
Inlägg: 18


Skicka PM
Finns ju ett antal utomstående bibliotek, om du vill ha stora siffror, kolla t ex in http://shoup.net/ntl/

-------------------------
http://www.tynnhammar.com



void 09:49 - 16:e Augusti 2005 | Post #11
Medlem
Inlägg: 63


Skicka PM
Eftersom C/C++ är ett maskinnära språk har du vissa primitiver att arbeta med... dessa är de vanliga char/int/float etc. Maskinvaran stödjer dessa i operationer, eller så kan kompilatorn enkelt översätta mellan dem och primitiver som går att använde på just den instruktionen som ska utföras.

Detta är egentligen en begränsing maskinvaran sätter, och som de flesta maskinnära kompilerade språk har.

Här kommer objekt och klasser in, du kan nämligen med hjälp av dessa (och operatoröverlagring och annat skojs =) skapa datatyper som i stort liknar de primitiva typerna, klarar samma operationer (+, -, / etc.).

-------------------------
Ingen signatur!



Dojjan 23:12 - 16:e Augusti 2005 | Post #12
Medlem
Inlägg: 114


Skicka PM
ok...




helmutt 08:15 - 17:e Augusti 2005 | Post #13
Medlem
Inlägg: 1


Skicka PM
Om det du är ute efter är att använda en specifik och portabel int typ (en som alltid är 16 bitar t.ex.) så kan du använda inttypes.h i C...
Jag kan inte C++ så där vet jag inte.

-------------------------
Ingen signatur!



Celeron 09:07 - 17:e Augusti 2005 | Post #14
Medlem
Inlägg: 418


Skicka PM
Allt som är C är också C++. Möjligt att den filen har gjorts om till cinttypes i C++ (man har gjort så med andra headerfiler från C).

-------------------------
Det viktigaste är att ha roligt! Har ny hemsida: http://www.freewebs.com/cpperik/



Sidor: 1

Forum huvudsida -> Programmering -> Egen int
Atom feed

Du får inte posta i den här tråden | Till toppen