| ??? 03/28/05 10:24 Read: times |
#90522 - Promotion Responding to: ???'s previous message |
Ian Bell said:
People think provided the use unsigned chars they will not get the problem. This is not the case for several reasons: 1. Compilers often promote chars to ints internally. Donald Catto said:
Ah, this old chestnut. The situations where a conforming compiler performs any kind of 'promotion' of chars are clearly defined by the 'C' standard. The Keil compiler, and, I would guess, any compiler targeted specifically at the 8051 does not promote char in most of these situations. If you use a char, you get a char. I just did a quick search on the Keil site for 'promotion' and the fourth hit was this http://www.keil.com/support/docs/749.htm Note the phrase 'When the 'if' statement is executed the variable is always promoted to an int.' Ian Ian |
| Topic | Author | Date |
| 8051 in C or assembly? | 01/01/70 00:00 | |
| Probably C | 01/01/70 00:00 | |
| Always C | 01/01/70 00:00 | |
| Mostly 'C' | 01/01/70 00:00 | |
| No magic wand | 01/01/70 00:00 | |
| Assembler when? | 01/01/70 00:00 | |
| Shared data problem?? | 01/01/70 00:00 | |
| Shared Data Problem | 01/01/70 00:00 | |
| I see | 01/01/70 00:00 | |
| Sared Data | 01/01/70 00:00 | |
| addendum | 01/01/70 00:00 | |
| Shared Data | 01/01/70 00:00 | |
| Knowledge, not language. | 01/01/70 00:00 | |
| Knowledge | 01/01/70 00:00 | |
| Knowledge | 01/01/70 00:00 | |
| Promotion | 01/01/70 00:00 | |
| Promotion | 01/01/70 00:00 | |
| Promotion | 01/01/70 00:00 | |
| Traps for the unwary | 01/01/70 00:00 | |
| Preaching | 01/01/70 00:00 | |
| Ditto | 01/01/70 00:00 | |
| red rag.... | 01/01/70 00:00 | |
Bend over then... | 01/01/70 00:00 | |
| hauling assembler | 01/01/70 00:00 | |
| Clarification | 01/01/70 00:00 | |
| Keil Allows this to be disabled | 01/01/70 00:00 | |
| Know your tools | 01/01/70 00:00 | |
| It means 8 bit may be 16 bits | 01/01/70 00:00 | |
| More knowledge! | 01/01/70 00:00 | |
| not really | 01/01/70 00:00 | |
| So which... | 01/01/70 00:00 | |
| Calculations in C | 01/01/70 00:00 | |
| ibid | 01/01/70 00:00 | |
| Not always.. | 01/01/70 00:00 | |
| Example | 01/01/70 00:00 | |
| Better?? | 01/01/70 00:00 | |
| assembly | 01/01/70 00:00 | |
| YMMV | 01/01/70 00:00 | |
| assembly | 01/01/70 00:00 | |
| Hitting the Wall | 01/01/70 00:00 |



