By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
454,124 Members | 953 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 454,124 IT Pros & Developers. It's quick & easy.

char vs. signed or unsigned char

P: n/a
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.
Mar 14 '07 #1
Share this Question
Share on Google+
4 Replies


P: n/a
At_sea_with_C <bl********@dev.null.invalidwrote:
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
Mar 14 '07 #2

P: n/a
Florian Weingarten wrote:
At_sea_with_C <bl********@dev.null.invalidwrote:
>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.
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/.

Mar 14 '07 #3

P: n/a
At_sea_with_C wrote:
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

Mar 14 '07 #4

P: n/a
"Nick Keighley" <ni******************@hotmail.comwrote in message
>
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


Mar 14 '07 #5

This discussion thread is closed

Replies have been disabled for this discussion.