Pages: [1]   Go Down
Author Topic: declaration array qui contient des longs  (Read 686 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Full Member
***
Karma: 0
Posts: 207
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

Dans les docs de références de arduino pour les arrays on peut lire :

int myPins[] = {2, 4, 8, 3, 6};

pour declarer un tableau qui contiendra des int (je suppose que cela veut dire ca, corrigez moi si je me trompe...)

Mais dans mon cas, le tableau contiendra des nombres "long" (nombre pouvant aller jusque 2 147 483 647)

Comment dois-je déclarer ?

long myPins[] = {2111221,1201,4577544,2544566}

?

Merci !

« Last Edit: October 02, 2009, 03:02:21 am by KiliYaBB » Logged

France
Offline Offline
Faraday Member
**
Karma: 36
Posts: 3438
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Code:
long myPins[] = {2111221L,1201L,4577544L,2544566L}
Logged

0
Offline Offline
Full Member
***
Karma: 0
Posts: 207
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ah ok, donc ce que j'en comprends c'est qu'il faut mettre un L a la fin cest ca ?

mais alors supposons

Code:
void setup{
long myPins[] = {2111221L,1201L,4577544L,2544566L}
}

voild loop{
for(int i=0;i<=5;i++){
myPins[0]=analogRead(i)*1000;
}
...
}

comment je fais pour mettre le L a la fin de analogRead(0)*1000 ???

Merci
Logged

France
Offline Offline
Faraday Member
**
Karma: 36
Posts: 3438
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
comment je fais pour mettre le L a la fin de analogRead(0)*1000 ???

Code:
analogRead(0)*1000L
« Last Edit: October 02, 2009, 06:33:54 am by fdufnews » Logged

0
Offline Offline
Full Member
***
Karma: 0
Posts: 207
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Merci pour ces réponses synthétiques fdudnews !

Mais cest quoi ce L ? le long ne suffit pas ?
« Last Edit: October 02, 2009, 06:42:33 am by KiliYaBB » Logged

France
Offline Offline
Faraday Member
**
Karma: 36
Posts: 3438
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

1000L est équivalent à un (long)1000
Le type d'une constante est défini par le contexte. Mais ce n'est pas toujours suffisant. Quand la valeur est inférieure à 32767 le compilateur ne peut pas savoir si c'est un int ou un long donc il faut le lui dire explicitement.  
Si tu écris 1000 le compilateur le considère comme un entier.
Si tu écris 1000.0 il le considère comme un float.
Si tu écris 1000L il le considère comme un long
Logged

0
Offline Offline
Full Member
***
Karma: 0
Posts: 207
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Merci pour ces précisions !

moi je pensais que dès lors qu'on avait dit le type de variables dans la déclaration, il n'y avait pas besoin de le redire.

Bon je m'en va tester tout ca !

merci !!!
Logged

Pages: [1]   Go Up
Jump to: