Anthony Fleury wrote on 22/10/04 :Une petite question qui va sembler sûrement idiote, que devient ce
type de
code pour des architectures ayant des byte de plus de 8 bits ? est-ce la
bonne manière de faire dans tous les cas ?
En fait je dois avouer que ce type d'architecture «défie» un peu mon
imagination, pour la simple et bonne raison que je n'ai jamais travaillé
dessus, je devrais peut être me remettre à l'architecture et me
documenter
un peu :-)
C'est pas pire qu'un architecture avec des int qui font 32 bits au lieu
des 16 requis. Les 16 bits de poids forts ne doivent pas être utilisés
si on veut écrire du code portable. C'est tout.
Le C, c'est simple :
8 bits -> char
16 bits -> int ou short
32 bits -> long
[C99]
64 bits -> long long
le reste c'est du pipeau.
Celui qui utilise une int pour des grandeurs 32 bits ou un char pour des
grandeurs 16 bits doit être fusillé tout les matins pendant une semaine
avec des balles rouillées.
Anthony Fleury wrote on 22/10/04 :
Une petite question qui va sembler sûrement idiote, que devient ce
type de
code pour des architectures ayant des byte de plus de 8 bits ? est-ce la
bonne manière de faire dans tous les cas ?
En fait je dois avouer que ce type d'architecture «défie» un peu mon
imagination, pour la simple et bonne raison que je n'ai jamais travaillé
dessus, je devrais peut être me remettre à l'architecture et me
documenter
un peu :-)
C'est pas pire qu'un architecture avec des int qui font 32 bits au lieu
des 16 requis. Les 16 bits de poids forts ne doivent pas être utilisés
si on veut écrire du code portable. C'est tout.
Le C, c'est simple :
8 bits -> char
16 bits -> int ou short
32 bits -> long
[C99]
64 bits -> long long
le reste c'est du pipeau.
Celui qui utilise une int pour des grandeurs 32 bits ou un char pour des
grandeurs 16 bits doit être fusillé tout les matins pendant une semaine
avec des balles rouillées.
Anthony Fleury wrote on 22/10/04 :Une petite question qui va sembler sûrement idiote, que devient ce
type de
code pour des architectures ayant des byte de plus de 8 bits ? est-ce la
bonne manière de faire dans tous les cas ?
En fait je dois avouer que ce type d'architecture «défie» un peu mon
imagination, pour la simple et bonne raison que je n'ai jamais travaillé
dessus, je devrais peut être me remettre à l'architecture et me
documenter
un peu :-)
C'est pas pire qu'un architecture avec des int qui font 32 bits au lieu
des 16 requis. Les 16 bits de poids forts ne doivent pas être utilisés
si on veut écrire du code portable. C'est tout.
Le C, c'est simple :
8 bits -> char
16 bits -> int ou short
32 bits -> long
[C99]
64 bits -> long long
le reste c'est du pipeau.
Celui qui utilise une int pour des grandeurs 32 bits ou un char pour des
grandeurs 16 bits doit être fusillé tout les matins pendant une semaine
avec des balles rouillées.
Anthony Fleury wrote on 22/10/04 :
Personnellement je choisis la seconde option, car je préfère un
programme non portable qui marche sur ma machine qu'un programme
portable qui ne marche que sur des machines dont je ne dispose pas.
Celui qui utilise une int pour des grandeurs 32 bits ou un char pour des
grandeurs 16 bits doit être fusillé tout les matins pendant une semaine
avec des balles rouillées.
Attrape moi d'abord :þ
Anthony Fleury wrote on 22/10/04 :
Personnellement je choisis la seconde option, car je préfère un
programme non portable qui marche sur ma machine qu'un programme
portable qui ne marche que sur des machines dont je ne dispose pas.
Celui qui utilise une int pour des grandeurs 32 bits ou un char pour des
grandeurs 16 bits doit être fusillé tout les matins pendant une semaine
avec des balles rouillées.
Attrape moi d'abord :þ
Anthony Fleury wrote on 22/10/04 :
Personnellement je choisis la seconde option, car je préfère un
programme non portable qui marche sur ma machine qu'un programme
portable qui ne marche que sur des machines dont je ne dispose pas.
Celui qui utilise une int pour des grandeurs 32 bits ou un char pour des
grandeurs 16 bits doit être fusillé tout les matins pendant une semaine
avec des balles rouillées.
Attrape moi d'abord :þ
|> c a d
|> => pour un court soit un int sur 2 octets octect_1,octect_2 devient
|> octect_2,octect_1
|> pour un long octect_1,octect_2,octect_3,octect_4 devient
|> octect_4,octect_3,octect_2,octect_1
|> et pour un long long
|> octect_1,octect_2,octect_3,octect_4,octect_5,octect_6,octect_7,octect_8
|> devient
|> octect_4,octect_3,octect_2,octect_1,octect_8,octect_7,octect_6,octect_5
|> Est ce que je raconte des anneries ou ai je bien tout compris
|> jusqu'a present ????
Moi, j'avoue que je ne comprends pas trop. Un int, c'est un int. Ce
n'est pas des octets. Quand je veux lire un int, je lis un int, et non
une suite d'octets.
|> c a d
|> => pour un court soit un int sur 2 octets octect_1,octect_2 devient
|> octect_2,octect_1
|> pour un long octect_1,octect_2,octect_3,octect_4 devient
|> octect_4,octect_3,octect_2,octect_1
|> et pour un long long
|> octect_1,octect_2,octect_3,octect_4,octect_5,octect_6,octect_7,octect_8
|> devient
|> octect_4,octect_3,octect_2,octect_1,octect_8,octect_7,octect_6,octect_5
|> Est ce que je raconte des anneries ou ai je bien tout compris
|> jusqu'a present ????
Moi, j'avoue que je ne comprends pas trop. Un int, c'est un int. Ce
n'est pas des octets. Quand je veux lire un int, je lis un int, et non
une suite d'octets.
|> c a d
|> => pour un court soit un int sur 2 octets octect_1,octect_2 devient
|> octect_2,octect_1
|> pour un long octect_1,octect_2,octect_3,octect_4 devient
|> octect_4,octect_3,octect_2,octect_1
|> et pour un long long
|> octect_1,octect_2,octect_3,octect_4,octect_5,octect_6,octect_7,octect_8
|> devient
|> octect_4,octect_3,octect_2,octect_1,octect_8,octect_7,octect_6,octect_5
|> Est ce que je raconte des anneries ou ai je bien tout compris
|> jusqu'a present ????
Moi, j'avoue que je ne comprends pas trop. Un int, c'est un int. Ce
n'est pas des octets. Quand je veux lire un int, je lis un int, et non
une suite d'octets.
Et comment fais tu alors pour lire un int dans fichier
ecrit par une autre architecture ou pour relier en reseau
deux architectures differentes ou les int n'auront pas
forcement la meme taille, le meme boutisme, etc. ?
Et comment fais tu alors pour lire un int dans fichier
ecrit par une autre architecture ou pour relier en reseau
deux architectures differentes ou les int n'auront pas
forcement la meme taille, le meme boutisme, etc. ?
Et comment fais tu alors pour lire un int dans fichier
ecrit par une autre architecture ou pour relier en reseau
deux architectures differentes ou les int n'auront pas
forcement la meme taille, le meme boutisme, etc. ?
"Richard Delorme" a écrit dans le message de
news:4179589d$0$15756$Anthony Fleury wrote on 22/10/04 :
Personnellement je choisis la seconde option, car je préfère un
programme non portable qui marche sur ma machine qu'un programme
portable qui ne marche que sur des machines dont je ne dispose pas.
C'est une opinion défendable, tant que tu ne programmes
que pour toi. Evidemment, c'est inacceptable si ton
programme a ne serait ce qu'une chance sur un million de
sortir de ta machine.
"Richard Delorme" <abulmo@nospam.fr> a écrit dans le message de
news:4179589d$0$15756$7a628cd7@news.club-internet.fr...
Anthony Fleury wrote on 22/10/04 :
Personnellement je choisis la seconde option, car je préfère un
programme non portable qui marche sur ma machine qu'un programme
portable qui ne marche que sur des machines dont je ne dispose pas.
C'est une opinion défendable, tant que tu ne programmes
que pour toi. Evidemment, c'est inacceptable si ton
programme a ne serait ce qu'une chance sur un million de
sortir de ta machine.
"Richard Delorme" a écrit dans le message de
news:4179589d$0$15756$Anthony Fleury wrote on 22/10/04 :
Personnellement je choisis la seconde option, car je préfère un
programme non portable qui marche sur ma machine qu'un programme
portable qui ne marche que sur des machines dont je ne dispose pas.
C'est une opinion défendable, tant que tu ne programmes
que pour toi. Evidemment, c'est inacceptable si ton
programme a ne serait ce qu'une chance sur un million de
sortir de ta machine.