Sida 1 av 1

Datatyper??

Postat: 27 september 2004, 12:57:28
av DeVille
hur lagrar man värdet 1 eller 0 i en char variabel??
om man gör så här char test[2]=('0','0') så blir det bara värdet för tecknet ju!!

Hur fixar man detta???

Postat: 27 september 2004, 13:15:40
av axelsonic
Jag vet inte om det är lämpligt att lagra det i en char.

Vore det inte bättre att lagra det i en int ?

Ex int degspatel[2] = {0,0};

Postat: 27 september 2004, 13:47:42
av DeVille
ehhh.. sorry!
sitter å stirar på koden i kombination med för mycket kaffe så fungerar
inte hjärnan som den ska!!

tack!

Postat: 27 september 2004, 17:31:15
av Sci
Fungerar aldeles utmärkt att lagra det i en char. char är definierad som signed integer för det mesta (tror iaf det är signed). Problemet var att du skrev '0' och inte 0. '0' betyder just ASCII-koden för 0.

Erik

Postat: 27 september 2004, 18:14:54
av Rymdninja
En char är _inte_ en signed integer...
en char är 8 eller 16 bitar. En integer kanske 32....

Postat: 27 september 2004, 18:46:02
av rickeboy
De_Ville>> Är det PC C/C++ eller handlar det om AVR-C?

//Rille

Postat: 27 september 2004, 18:49:24
av sprawl
Näe char tillhör integer familjen och är oftast 8 bitar. Den kan vara 16 bitar i vissa programmeringsspråk och/eller om systemet är konfigurerat för unicode.

Så det stämmer även att char oftast är en signed int på 8 bitar.

Kod: Markera allt

char 			(signed int 8 bitar)
short 			(signed int 16 bitar)
int/long 		(signed int 32 bitar)
long long?		(signed int 64 bitar) //tror inte detta är standard.

sen finns det unsigned av dessa också
tex
unsigned char(även kallad byte) det ger ett intervall mellan 0-256.
unsigned short(även kallad word) det ger ett intervall mellan 0-65536.
unsigned int(även kallad dword) det ger ett intervall mellan 0-4,294,967,295.
/Andreas