I am having trouble understanding what happens in the 8051 Memory when numbers are stored as Char types. As I understand it when the letter A is store as a Char type the memory holds 0x41. When the number 191 is stored as a Char Type I would expect the memory to hold 3 Hex digits in a string starting with 0x31 for the number 1. This is not what happens.In fact 191 is stored as 0XBF which is the Hex value for 191. I don't understand why we bother using numbers as Char if they are stored the same way Int types are stored?? Can someone explain this??
The only bit of that which is specific to C51 is the "CODE memory" part.
For C51-specific details, see the C51 manual:
http://www.keil.com/support/man/docs/c51/c51_le_memareas.htm
The rest is standard 'C'...
Note that the following are all equivalent:
char my_array[2] = { '1','2' };
char my_array[2] = { 0x31,0x32 };
char my_array[2] = { 49,50 };
char my_array[2] = { 061,062 };
char my_array[2] = { 0x31,'2' };
Great this makes sense now THANX