Connecting Tech Pros Worldwide Help | Site Map

char vs. signed or unsigned char

At_sea_with_C
Guest
 
Posts: n/a
#1: Mar 14 '07
hello all,

Is there a reason to prefer char over signed or unsigned char. From waht I
know all strings can be coded with unsigned char while a negative number
can be put in signed char. So what are the uses for plain char?

Thanks to all who ansered my last post (enum).

--
Email: The handle, (dot seperated), at gmail dot com.
Florian Weingarten
Guest
 
Posts: n/a
#2: Mar 14 '07

re: char vs. signed or unsigned char


At_sea_with_C <blindalley@dev.null.invalidwrote:
Quote:
Is there a reason to prefer char over signed or unsigned char. From waht I
know all strings can be coded with unsigned char while a negative number
can be put in signed char. So what are the uses for plain char?
As far as I know, there is no "plain char". A char is either a unsigned
char or a signed char, which exactly is implementation depenedent:

ISO/IEC 9899:1999, 6.2.5.15 (p. 49)
The three types char, signed char, and unsigned char are collectively called
the character types. The implementation shall define char to have the same range,
representation, and behavior as either signed char or unsigned char.


HTH,
Flo
Chris Dollin
Guest
 
Posts: n/a
#3: Mar 14 '07

re: char vs. signed or unsigned char


Florian Weingarten wrote:
Quote:
At_sea_with_C <blindalley@dev.null.invalidwrote:
Quote:
>Is there a reason to prefer char over signed or unsigned char. From waht I
>know all strings can be coded with unsigned char while a negative number
>can be put in signed char. So what are the uses for plain char?
>
As far as I know, there is no "plain char".
`char` is plain.
Quote:
A char is either a unsigned char or a signed char, which exactly
is implementation depenedent:
>
ISO/IEC 9899:1999, 6.2.5.15 (p. 49)
The three types char, signed char, and unsigned char are collectively called
the character types. The implementation shall define char to have the same range,
representation, and behavior as either signed char or unsigned char.
No: it has the same range, representation, and behaviour as one of
those types, but it's a different type.

I'd expect the implementation to pick whichever one was "more
efficient" by some reasonable measure - eg when converting to
`int`, one probably wants an efficient code sequence, so one
picks whatever the machine conversion is (PDP11 MOVB, for example)
and takes the consequences.

--
Chris "electric hedgehog" Dollin
"We live for the One, you die for the One." Unsaid /Babylon 5/.

Nick Keighley
Guest
 
Posts: n/a
#4: Mar 14 '07

re: char vs. signed or unsigned char


At_sea_with_C wrote:
Quote:
Is there a reason to prefer char over signed or unsigned char. From waht I
know all strings can be coded with unsigned char while a negative number
can be put in signed char. So what are the uses for plain char?
use char for character data (supported by the implementation)

use unsigned char for raw data, eg. data transmitted over a comms link

I've never used signed char, I suppose you'd use it for small signed
integers


--
Nick Keighley

Malcolm McLean
Guest
 
Posts: n/a
#5: Mar 14 '07

re: char vs. signed or unsigned char


"Nick Keighley" <nick_keighley_nospam@hotmail.comwrote in message
Quote:
>
I've never used signed char, I suppose you'd use it for small signed
integers
>
One use is for normals in runtime graphics.
Three numbers in the range -128 to 127 give you enough resolution to do
visually acceptable lighting, but don't take up too much space, and you can
use fast integer arithmetic.

--
Free games and programming goodies.
http://www.personal.leeds.ac.uk/~bgy1mm




Closed Thread


Similar C / C++ bytes