les char sont signés, pourquoi faire un casting vers de l'insigned ? 1 - ma proposition n'est peut-être pas bonne, je mets moi-même plein de
C dans mon improbable C++ ;-) 2 - les char ne sont pas toujours signés, ça dépend de l'implémentation (en C, en C++ il faudrait vérifier). 3 - fabrizio parle d'un uint8_t, qui s'il existe est une entier de strictement 8 bits sans padding et non signé. Ce qui se passe, c'est qu'il doit y avoir dans son stdint.h un typedef unsigned char uint8_t; qui explique le comportement du std::cout.
les char sont signés, pourquoi faire un casting vers de l'insigned ?
1 - ma proposition n'est peut-être pas bonne, je mets moi-même plein de
C dans mon improbable C++ ;-)
2 - les char ne sont pas toujours signés, ça dépend de l'implémentation
(en C, en C++ il faudrait vérifier).
3 - fabrizio parle d'un uint8_t, qui s'il existe est une entier de
strictement 8 bits sans padding et non signé. Ce qui se passe, c'est
qu'il doit y avoir dans son stdint.h un typedef unsigned char uint8_t;
qui explique le comportement du std::cout.
les char sont signés, pourquoi faire un casting vers de l'insigned ? 1 - ma proposition n'est peut-être pas bonne, je mets moi-même plein de
C dans mon improbable C++ ;-) 2 - les char ne sont pas toujours signés, ça dépend de l'implémentation (en C, en C++ il faudrait vérifier). 3 - fabrizio parle d'un uint8_t, qui s'il existe est une entier de strictement 8 bits sans padding et non signé. Ce qui se passe, c'est qu'il doit y avoir dans son stdint.h un typedef unsigned char uint8_t; qui explique le comportement du std::cout.
-- Pierre
nico
3 - fabrizio parle d'un uint8_t, qui s'il existe est une entier de strictement 8 bits sans padding et non signé. Ce qui se passe, c'est qu'il doit y avoir dans son stdint.h un typedef unsigned char uint8_t;
Bonne remarque, je n'avais pas fait attention au unint8_t donc oui une conversion vers unsigned int est plus logique.
3 - fabrizio parle d'un uint8_t, qui s'il existe est une entier de
strictement 8 bits sans padding et non signé. Ce qui se passe, c'est qu'il
doit y avoir dans son stdint.h un typedef unsigned char uint8_t;
Bonne remarque, je n'avais pas fait attention au unint8_t donc oui une
conversion vers unsigned int est plus logique.
3 - fabrizio parle d'un uint8_t, qui s'il existe est une entier de strictement 8 bits sans padding et non signé. Ce qui se passe, c'est qu'il doit y avoir dans son stdint.h un typedef unsigned char uint8_t;
Bonne remarque, je n'avais pas fait attention au unint8_t donc oui une conversion vers unsigned int est plus logique.
les char sont signés, pourquoi faire un casting vers de l'insigned ?
Les char sont parfois signé, parfois non. Mais sauf de rares exceptions, toutes les valeurs d'un char, signé ou non, peuvent se représenter sur un int. La conversion vers int est donc la solution à préférer.
-- James Kanze GABI Software Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
les char sont signés, pourquoi faire un casting vers de
l'insigned ?
Les char sont parfois signé, parfois non. Mais sauf de rares
exceptions, toutes les valeurs d'un char, signé ou non, peuvent
se représenter sur un int. La conversion vers int est donc la
solution à préférer.
--
James Kanze GABI Software
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
les char sont signés, pourquoi faire un casting vers de l'insigned ?
Les char sont parfois signé, parfois non. Mais sauf de rares exceptions, toutes les valeurs d'un char, signé ou non, peuvent se représenter sur un int. La conversion vers int est donc la solution à préférer.
-- James Kanze GABI Software Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
Loïc Joly
wrote:
nico wrote:
les char sont signés, pourquoi faire un casting vers de l'insigned ?
Les char sont parfois signé, parfois non. Mais sauf de rares exceptions, toutes les valeurs d'un char, signé ou non, peuvent se représenter sur un int. La conversion vers int est donc la solution à préférer.
J'irais jusqu'à dire que si l'on souhaite l'imprimer en décimal, ce n'est probablement pas un char (type représentant un caractère) qu'on veut mais un signed char ou un unsigned char (tous deux types représentants des entiers en petit nombre).
-- Loïc
kanze@gabi-soft.fr wrote:
nico wrote:
les char sont signés, pourquoi faire un casting vers de
l'insigned ?
Les char sont parfois signé, parfois non. Mais sauf de rares
exceptions, toutes les valeurs d'un char, signé ou non, peuvent
se représenter sur un int. La conversion vers int est donc la
solution à préférer.
J'irais jusqu'à dire que si l'on souhaite l'imprimer en décimal, ce
n'est probablement pas un char (type représentant un caractère) qu'on
veut mais un signed char ou un unsigned char (tous deux types
représentants des entiers en petit nombre).
les char sont signés, pourquoi faire un casting vers de l'insigned ?
Les char sont parfois signé, parfois non. Mais sauf de rares exceptions, toutes les valeurs d'un char, signé ou non, peuvent se représenter sur un int. La conversion vers int est donc la solution à préférer.
J'irais jusqu'à dire que si l'on souhaite l'imprimer en décimal, ce n'est probablement pas un char (type représentant un caractère) qu'on veut mais un signed char ou un unsigned char (tous deux types représentants des entiers en petit nombre).
-- Loïc
Fabien LE LEZ
On Wed, 09 Feb 2005 22:45:42 +0100, Loïc Joly :
J'irais jusqu'à dire que si l'on souhaite l'imprimer en décimal, ce n'est probablement pas un char (type représentant un caractère) qu'on veut
Et si on veut afficher le code ASCII du caractère ?
-- ;-)
On Wed, 09 Feb 2005 22:45:42 +0100, Loïc Joly
<loic.actarus.joly@wanadoo.fr>:
J'irais jusqu'à dire que si l'on souhaite l'imprimer en décimal, ce
n'est probablement pas un char (type représentant un caractère) qu'on
veut
Et si on veut afficher le code ASCII du caractère ?
J'irais jusqu'à dire que si l'on souhaite l'imprimer en décimal, ce n'est probablement pas un char (type représentant un caractère) qu'on veut
Et si on veut afficher le code ASCII du caractère ?
-- ;-)
Loïc Joly
Fabien LE LEZ wrote:
On Wed, 09 Feb 2005 22:45:42 +0100, Loïc Joly :
J'irais jusqu'à dire que si l'on souhaite l'imprimer en décimal, ce n'est probablement pas un char (type représentant un caractère) qu'on veut
Et si on veut afficher le code ASCII du caractère ?
Qu'est-ce qui te fait croire qu'il y a un rapport entre un code ascii et la conversion d'un char en int ?
J'ai rarement vu de cas où il est utile de connaître le code derrière un caractère. En général, c'est une première étape vers des horreurs genre c - 'a' + 'A'...
-- Loïc
Fabien LE LEZ wrote:
On Wed, 09 Feb 2005 22:45:42 +0100, Loïc Joly
<loic.actarus.joly@wanadoo.fr>:
J'irais jusqu'à dire que si l'on souhaite l'imprimer en décimal, ce
n'est probablement pas un char (type représentant un caractère) qu'on
veut
Et si on veut afficher le code ASCII du caractère ?
Qu'est-ce qui te fait croire qu'il y a un rapport entre un code ascii et
la conversion d'un char en int ?
J'ai rarement vu de cas où il est utile de connaître le code derrière un
caractère. En général, c'est une première étape vers des horreurs genre
c - 'a' + 'A'...
J'irais jusqu'à dire que si l'on souhaite l'imprimer en décimal, ce n'est probablement pas un char (type représentant un caractère) qu'on veut
Et si on veut afficher le code ASCII du caractère ?
Qu'est-ce qui te fait croire qu'il y a un rapport entre un code ascii et la conversion d'un char en int ?
J'ai rarement vu de cas où il est utile de connaître le code derrière un caractère. En général, c'est une première étape vers des horreurs genre c - 'a' + 'A'...