Datatyper??

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
Användarvisningsbild
DeVille
Inlägg: 2361
Blev medlem: 29 mars 2004, 15:04:22
Ort: Dalsländska skogen.
Kontakt:

Datatyper??

Inlägg 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???
Användarvisningsbild
axelsonic
EF Sponsor
Inlägg: 709
Blev medlem: 8 juni 2003, 20:56:03
Ort: Stockholm

Inlägg 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};
Användarvisningsbild
DeVille
Inlägg: 2361
Blev medlem: 29 mars 2004, 15:04:22
Ort: Dalsländska skogen.
Kontakt:

Inlägg av DeVille »

ehhh.. sorry!
sitter å stirar på koden i kombination med för mycket kaffe så fungerar
inte hjärnan som den ska!!

tack!
Sci
Inlägg: 145
Blev medlem: 7 juli 2003, 11:03:29
Ort: Mölndal

Inlägg 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
Rymdninja
Inlägg: 330
Blev medlem: 15 december 2003, 13:41:25
Ort: Göteborg

Inlägg av Rymdninja »

En char är _inte_ en signed integer...
en char är 8 eller 16 bitar. En integer kanske 32....
Användarvisningsbild
rickeboy
Inlägg: 678
Blev medlem: 13 augusti 2003, 09:12:17
Ort: Göteborg / Karlskrona
Kontakt:

Inlägg av rickeboy »

De_Ville>> Är det PC C/C++ eller handlar det om AVR-C?

//Rille
sprawl
Inlägg: 299
Blev medlem: 9 juni 2004, 13:01:33
Ort: Göteborg

Inlägg 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
Skriv svar