Dans l'autre sens, seuls les 8 bits de poids faible seront écrits
dans le byte du flux.
Dans l'autre sens, seuls les 8 bits de poids faible seront écrits
dans le byte du flux.
Dans l'autre sens, seuls les 8 bits de poids faible seront écrits
dans le byte du flux.
7.19.2 Streams
[#3] A binary stream is an ordered sequence of characters
that can transparently record internal data. Data read in
from a binary stream shall compare equal to the data that
were earlier written out to that stream, under the same
implementation. [...]
La transparence vaut pour des *caractères* (characters). La valeur max
d'un caractère est 255.
characters != char
7.19.2 Streams
[#3] A binary stream is an ordered sequence of characters
that can transparently record internal data. Data read in
from a binary stream shall compare equal to the data that
were earlier written out to that stream, under the same
implementation. [...]
La transparence vaut pour des *caractères* (characters). La valeur max
d'un caractère est 255.
characters != char
7.19.2 Streams
[#3] A binary stream is an ordered sequence of characters
that can transparently record internal data. Data read in
from a binary stream shall compare equal to the data that
were earlier written out to that stream, under the same
implementation. [...]
La transparence vaut pour des *caractères* (characters). La valeur max
d'un caractère est 255.
characters != char
In 'fr.comp.lang.c', Alexandre BACQUART wrote:Non seulement un int
(voire un char) n'a pas forcément la même taille d'une architecture à
l'autre (problème cependant facilement résolvable en C99 avec
int8_t...),
C'est pas vrai. Le langage C99 n'a pas le pouvoir de créer des types nouveaux
sur des architectures qui ne peuvent pas les implémenter (Sur un DSP
TMS320C64, il *n'existe pas* d'objets < 16 bits). Dans sa grande sagesse (et
celle des rédacteurs), le langage C99 *n'impose pas* les types à taille fixe.
Il dit simplement que *sur les architectures qui l'acceptent*, l'implémenteur
a le droit de définir des types à taille fixe. Ces types sont donc par nature
non portables (leur existence même dépend de l'architecture), et pour moi,
n'ont *aucun* intéret.
Au moins, un char, c'est un char, et je me f*us pas mal qu'il fasse 8 ou 128
bits.
In 'fr.comp.lang.c', Alexandre BACQUART <tek512@hotmail.com> wrote:
Non seulement un int
(voire un char) n'a pas forcément la même taille d'une architecture à
l'autre (problème cependant facilement résolvable en C99 avec
int8_t...),
C'est pas vrai. Le langage C99 n'a pas le pouvoir de créer des types nouveaux
sur des architectures qui ne peuvent pas les implémenter (Sur un DSP
TMS320C64, il *n'existe pas* d'objets < 16 bits). Dans sa grande sagesse (et
celle des rédacteurs), le langage C99 *n'impose pas* les types à taille fixe.
Il dit simplement que *sur les architectures qui l'acceptent*, l'implémenteur
a le droit de définir des types à taille fixe. Ces types sont donc par nature
non portables (leur existence même dépend de l'architecture), et pour moi,
n'ont *aucun* intéret.
Au moins, un char, c'est un char, et je me f*us pas mal qu'il fasse 8 ou 128
bits.
In 'fr.comp.lang.c', Alexandre BACQUART wrote:Non seulement un int
(voire un char) n'a pas forcément la même taille d'une architecture à
l'autre (problème cependant facilement résolvable en C99 avec
int8_t...),
C'est pas vrai. Le langage C99 n'a pas le pouvoir de créer des types nouveaux
sur des architectures qui ne peuvent pas les implémenter (Sur un DSP
TMS320C64, il *n'existe pas* d'objets < 16 bits). Dans sa grande sagesse (et
celle des rédacteurs), le langage C99 *n'impose pas* les types à taille fixe.
Il dit simplement que *sur les architectures qui l'acceptent*, l'implémenteur
a le droit de définir des types à taille fixe. Ces types sont donc par nature
non portables (leur existence même dépend de l'architecture), et pour moi,
n'ont *aucun* intéret.
Au moins, un char, c'est un char, et je me f*us pas mal qu'il fasse 8 ou 128
bits.
In 'fr.comp.lang.c', Vincent Lefevre <vincent+ wrote:Non, aucun risque. Le mécanisme interne de lecture de flux est sur 8
bits quoiqu'il arrive.
Ce n'est pas dépendant de l'implémentation (même si en pratique,
c'est actuellement toujours 8 bits)?
En tout cas, seuls les 8 bits de poids faibles sont pris en compte.
In 'fr.comp.lang.c', Vincent Lefevre <vincent+news@vinc17.org> wrote:
Non, aucun risque. Le mécanisme interne de lecture de flux est sur 8
bits quoiqu'il arrive.
Ce n'est pas dépendant de l'implémentation (même si en pratique,
c'est actuellement toujours 8 bits)?
En tout cas, seuls les 8 bits de poids faibles sont pris en compte.
In 'fr.comp.lang.c', Vincent Lefevre <vincent+ wrote:Non, aucun risque. Le mécanisme interne de lecture de flux est sur 8
bits quoiqu'il arrive.
Ce n'est pas dépendant de l'implémentation (même si en pratique,
c'est actuellement toujours 8 bits)?
En tout cas, seuls les 8 bits de poids faibles sont pris en compte.
C'est pas vrai. Le langage C99 n'a pas le pouvoir de créer des types
nouveaux sur des architectures qui ne peuvent pas les implémenter
(Sur un DSP TMS320C64, il *n'existe pas* d'objets < 16 bits). Dans
sa grande sagesse (et celle des rédacteurs), le langage C99
*n'impose pas* les types à taille fixe. Il dit simplement que *sur
les architectures qui l'acceptent*, l'implémenteur a le droit de
définir des types à taille fixe. Ces types sont donc par nature non
portables (leur existence même dépend de l'architecture), et pour
moi, n'ont *aucun* intéret.
Les types 'at_least' (int_least<bits>_t) me paraissent plus
intelligents, mais ils n'apportent rien sur le plan sémantique par
rapport aux types existants (à part pour les grands entiers, 64 ou
128 bits). Tout programmeur C muni d'un cerveau en état de marche
sait qu'un char est un 'at_least8', un short et un int un
'at_least16' et un long un 'at_least32'.
C'est pas vrai. Le langage C99 n'a pas le pouvoir de créer des types
nouveaux sur des architectures qui ne peuvent pas les implémenter
(Sur un DSP TMS320C64, il *n'existe pas* d'objets < 16 bits). Dans
sa grande sagesse (et celle des rédacteurs), le langage C99
*n'impose pas* les types à taille fixe. Il dit simplement que *sur
les architectures qui l'acceptent*, l'implémenteur a le droit de
définir des types à taille fixe. Ces types sont donc par nature non
portables (leur existence même dépend de l'architecture), et pour
moi, n'ont *aucun* intéret.
Les types 'at_least' (int_least<bits>_t) me paraissent plus
intelligents, mais ils n'apportent rien sur le plan sémantique par
rapport aux types existants (à part pour les grands entiers, 64 ou
128 bits). Tout programmeur C muni d'un cerveau en état de marche
sait qu'un char est un 'at_least8', un short et un int un
'at_least16' et un long un 'at_least32'.
C'est pas vrai. Le langage C99 n'a pas le pouvoir de créer des types
nouveaux sur des architectures qui ne peuvent pas les implémenter
(Sur un DSP TMS320C64, il *n'existe pas* d'objets < 16 bits). Dans
sa grande sagesse (et celle des rédacteurs), le langage C99
*n'impose pas* les types à taille fixe. Il dit simplement que *sur
les architectures qui l'acceptent*, l'implémenteur a le droit de
définir des types à taille fixe. Ces types sont donc par nature non
portables (leur existence même dépend de l'architecture), et pour
moi, n'ont *aucun* intéret.
Les types 'at_least' (int_least<bits>_t) me paraissent plus
intelligents, mais ils n'apportent rien sur le plan sémantique par
rapport aux types existants (à part pour les grands entiers, 64 ou
128 bits). Tout programmeur C muni d'un cerveau en état de marche
sait qu'un char est un 'at_least8', un short et un int un
'at_least16' et un long un 'at_least32'.
Dans l'article ,
Emmanuel Delahaye écrit:C'est pas vrai. Le langage C99 n'a pas le pouvoir de créer des types
nouveaux sur des architectures qui ne peuvent pas les implémenter
(Sur un DSP TMS320C64, il *n'existe pas* d'objets < 16 bits). Dans
sa grande sagesse (et celle des rédacteurs), le langage C99
*n'impose pas* les types à taille fixe. Il dit simplement que *sur
les architectures qui l'acceptent*, l'implémenteur a le droit de
définir des types à taille fixe. Ces types sont donc par nature non
portables (leur existence même dépend de l'architecture), et pour
moi, n'ont *aucun* intéret.
Oui, pour toi.
Les types 'at_least' (int_least<bits>_t) me paraissent plus
intelligents, mais ils n'apportent rien sur le plan sémantique par
rapport aux types existants (à part pour les grands entiers, 64 ou
128 bits). Tout programmeur C muni d'un cerveau en état de marche
sait qu'un char est un 'at_least8', un short et un int un
'at_least16' et un long un 'at_least32'.
Il me semble que la norme n'impose ça nulle part. Tu peux très bien
avoir un char sur 16 bits et un at_least8 sur 8 bits, par exemple.
Dans l'article <Xns94FEBD240FFBChsnoservernet@212.27.42.71>,
Emmanuel Delahaye <emdelYOURBRA@noos.fr> écrit:
C'est pas vrai. Le langage C99 n'a pas le pouvoir de créer des types
nouveaux sur des architectures qui ne peuvent pas les implémenter
(Sur un DSP TMS320C64, il *n'existe pas* d'objets < 16 bits). Dans
sa grande sagesse (et celle des rédacteurs), le langage C99
*n'impose pas* les types à taille fixe. Il dit simplement que *sur
les architectures qui l'acceptent*, l'implémenteur a le droit de
définir des types à taille fixe. Ces types sont donc par nature non
portables (leur existence même dépend de l'architecture), et pour
moi, n'ont *aucun* intéret.
Oui, pour toi.
Les types 'at_least' (int_least<bits>_t) me paraissent plus
intelligents, mais ils n'apportent rien sur le plan sémantique par
rapport aux types existants (à part pour les grands entiers, 64 ou
128 bits). Tout programmeur C muni d'un cerveau en état de marche
sait qu'un char est un 'at_least8', un short et un int un
'at_least16' et un long un 'at_least32'.
Il me semble que la norme n'impose ça nulle part. Tu peux très bien
avoir un char sur 16 bits et un at_least8 sur 8 bits, par exemple.
Dans l'article ,
Emmanuel Delahaye écrit:C'est pas vrai. Le langage C99 n'a pas le pouvoir de créer des types
nouveaux sur des architectures qui ne peuvent pas les implémenter
(Sur un DSP TMS320C64, il *n'existe pas* d'objets < 16 bits). Dans
sa grande sagesse (et celle des rédacteurs), le langage C99
*n'impose pas* les types à taille fixe. Il dit simplement que *sur
les architectures qui l'acceptent*, l'implémenteur a le droit de
définir des types à taille fixe. Ces types sont donc par nature non
portables (leur existence même dépend de l'architecture), et pour
moi, n'ont *aucun* intéret.
Oui, pour toi.
Les types 'at_least' (int_least<bits>_t) me paraissent plus
intelligents, mais ils n'apportent rien sur le plan sémantique par
rapport aux types existants (à part pour les grands entiers, 64 ou
128 bits). Tout programmeur C muni d'un cerveau en état de marche
sait qu'un char est un 'at_least8', un short et un int un
'at_least16' et un long un 'at_least32'.
Il me semble que la norme n'impose ça nulle part. Tu peux très bien
avoir un char sur 16 bits et un at_least8 sur 8 bits, par exemple.
Quel intérêt y voyez-vous si l'existence de ces types n'est pas imposée ?
À part faire du C non portable ?
Quel intérêt y voyez-vous si l'existence de ces types n'est pas imposée ?
À part faire du C non portable ?
Quel intérêt y voyez-vous si l'existence de ces types n'est pas imposée ?
À part faire du C non portable ?
Quel intérêt y voyez-vous si l'existence de ces types n'est pas imposée ?
À part faire du C non portable ?
(Pour ça, il suffisait d'utiliser conio.h, fork(...), et leurs copains...)
Il me semble que la norme n'impose ça nulle part. Tu peux très bien
avoir un char sur 16 bits et un at_least8 sur 8 bits, par exemple.
Certes, mais cela n'enlève rien au fait que les précautions d'emploi
d'un 'at_least8' sont les mêmes que pour un 'char', leurs plages
valides (=normatives) de représentation étant les mêmes.
Tiens, pendant qu'on y est... Si on a un char sur 16 bits et un
at_least8 sur 8 bits, les sizeof de ces deux types sont 1 ?
Excusez le petit rigolo que je suis, mais, dans l'affirmative, que
définit sizeof, exactement ?
Quel intérêt y voyez-vous si l'existence de ces types n'est pas imposée ?
À part faire du C non portable ?
(Pour ça, il suffisait d'utiliser conio.h, fork(...), et leurs copains...)
Il me semble que la norme n'impose ça nulle part. Tu peux très bien
avoir un char sur 16 bits et un at_least8 sur 8 bits, par exemple.
Certes, mais cela n'enlève rien au fait que les précautions d'emploi
d'un 'at_least8' sont les mêmes que pour un 'char', leurs plages
valides (=normatives) de représentation étant les mêmes.
Tiens, pendant qu'on y est... Si on a un char sur 16 bits et un
at_least8 sur 8 bits, les sizeof de ces deux types sont 1 ?
Excusez le petit rigolo que je suis, mais, dans l'affirmative, que
définit sizeof, exactement ?
Quel intérêt y voyez-vous si l'existence de ces types n'est pas imposée ?
À part faire du C non portable ?
(Pour ça, il suffisait d'utiliser conio.h, fork(...), et leurs copains...)
Il me semble que la norme n'impose ça nulle part. Tu peux très bien
avoir un char sur 16 bits et un at_least8 sur 8 bits, par exemple.
Certes, mais cela n'enlève rien au fait que les précautions d'emploi
d'un 'at_least8' sont les mêmes que pour un 'char', leurs plages
valides (=normatives) de représentation étant les mêmes.
Tiens, pendant qu'on y est... Si on a un char sur 16 bits et un
at_least8 sur 8 bits, les sizeof de ces deux types sont 1 ?
Excusez le petit rigolo que je suis, mais, dans l'affirmative, que
définit sizeof, exactement ?
Vincent Lefevre n'a pas hésité à écrire...
<news:20040605100921$
Dans l'article ,
Emmanuel Delahaye écrit:Il dit simplement que *sur
les architectures qui l'acceptent*, l'implémenteur a le droit de
définir des types à taille fixe. Ces types sont donc par nature non
portables (leur existence même dépend de l'architecture), et pour
moi, n'ont *aucun* intéret.
Oui, pour toi.
<SimpleQuestion mode="Pas taper, merci">
Quel intérêt y voyez-vous si l'existence de ces types n'est pas
imposée ? À part faire du C non portable ?
(Pour ça, il suffisait d'utiliser conio.h, fork(...), et leurs
copains...) </SimpleQuestion>
Tout programmeur C muni d'un cerveau en état de marche
sait qu'un char est un 'at_least8', un short et un int un
'at_least16' et un long un 'at_least32'.
Il me semble que la norme n'impose ça nulle part. Tu peux très bien
avoir un char sur 16 bits et un at_least8 sur 8 bits, par exemple.
Certes, mais cela n'enlève rien au fait que les précautions d'emploi
d'un 'at_least8' sont les mêmes que pour un 'char', leurs plages
valides (=normatives) de représentation étant les mêmes. À moins que
je ne me trompe ?
Tiens, pendant qu'on y est... Si on a un char sur 16 bits et un
at_least8 sur 8 bits, les sizeof de ces deux types sont 1 ? Excusez
le petit rigolo que je suis, mais, dans l'affirmative, que définit
sizeof, exactement ? Merci.
Vincent Lefevre n'a pas hésité à écrire...
<news:20040605100921$11e0@vinc17.org>
Dans l'article <Xns94FEBD240FFBChsnoservernet@212.27.42.71>,
Emmanuel Delahaye <emdelYOURBRA@noos.fr> écrit:
Il dit simplement que *sur
les architectures qui l'acceptent*, l'implémenteur a le droit de
définir des types à taille fixe. Ces types sont donc par nature non
portables (leur existence même dépend de l'architecture), et pour
moi, n'ont *aucun* intéret.
Oui, pour toi.
<SimpleQuestion mode="Pas taper, merci">
Quel intérêt y voyez-vous si l'existence de ces types n'est pas
imposée ? À part faire du C non portable ?
(Pour ça, il suffisait d'utiliser conio.h, fork(...), et leurs
copains...) </SimpleQuestion>
Tout programmeur C muni d'un cerveau en état de marche
sait qu'un char est un 'at_least8', un short et un int un
'at_least16' et un long un 'at_least32'.
Il me semble que la norme n'impose ça nulle part. Tu peux très bien
avoir un char sur 16 bits et un at_least8 sur 8 bits, par exemple.
Certes, mais cela n'enlève rien au fait que les précautions d'emploi
d'un 'at_least8' sont les mêmes que pour un 'char', leurs plages
valides (=normatives) de représentation étant les mêmes. À moins que
je ne me trompe ?
Tiens, pendant qu'on y est... Si on a un char sur 16 bits et un
at_least8 sur 8 bits, les sizeof de ces deux types sont 1 ? Excusez
le petit rigolo que je suis, mais, dans l'affirmative, que définit
sizeof, exactement ? Merci.
Vincent Lefevre n'a pas hésité à écrire...
<news:20040605100921$
Dans l'article ,
Emmanuel Delahaye écrit:Il dit simplement que *sur
les architectures qui l'acceptent*, l'implémenteur a le droit de
définir des types à taille fixe. Ces types sont donc par nature non
portables (leur existence même dépend de l'architecture), et pour
moi, n'ont *aucun* intéret.
Oui, pour toi.
<SimpleQuestion mode="Pas taper, merci">
Quel intérêt y voyez-vous si l'existence de ces types n'est pas
imposée ? À part faire du C non portable ?
(Pour ça, il suffisait d'utiliser conio.h, fork(...), et leurs
copains...) </SimpleQuestion>
Tout programmeur C muni d'un cerveau en état de marche
sait qu'un char est un 'at_least8', un short et un int un
'at_least16' et un long un 'at_least32'.
Il me semble que la norme n'impose ça nulle part. Tu peux très bien
avoir un char sur 16 bits et un at_least8 sur 8 bits, par exemple.
Certes, mais cela n'enlève rien au fait que les précautions d'emploi
d'un 'at_least8' sont les mêmes que pour un 'char', leurs plages
valides (=normatives) de représentation étant les mêmes. À moins que
je ne me trompe ?
Tiens, pendant qu'on y est... Si on a un char sur 16 bits et un
at_least8 sur 8 bits, les sizeof de ces deux types sont 1 ? Excusez
le petit rigolo que je suis, mais, dans l'affirmative, que définit
sizeof, exactement ? Merci.
7.19.2 Streams
[#3] A binary stream is an ordered sequence of characters
that can transparently record internal data. Data read in
from a binary stream shall compare equal to the data that
were earlier written out to that stream, under the same
implementation. [...]
Non. La transparence vaut pour des *caractères* (characters). La
valeur max d'un caractère est 255.
characters != char
7.19.2 Streams
[#3] A binary stream is an ordered sequence of characters
that can transparently record internal data. Data read in
from a binary stream shall compare equal to the data that
were earlier written out to that stream, under the same
implementation. [...]
Non. La transparence vaut pour des *caractères* (characters). La
valeur max d'un caractère est 255.
characters != char
7.19.2 Streams
[#3] A binary stream is an ordered sequence of characters
that can transparently record internal data. Data read in
from a binary stream shall compare equal to the data that
were earlier written out to that stream, under the same
implementation. [...]
Non. La transparence vaut pour des *caractères* (characters). La
valeur max d'un caractère est 255.
characters != char