| ??? 01/28/08 04:21 Read: times |
#149989 - The Art of correct Constants Responding to: ???'s previous message |
Not all of this is compiler dependent. Some is required by ANSI.
#define MAX_POWER_LOSS 100000 may get you an error #define MAX_POWER_LOSS 100000U or #define MAX_POWER_LOSS 100000UL Would be correct. 255 may be optimized to a byte but it is still signed. 255U #define A_FLOAT 1 may not give the desired results #define A_FLOAT 1.0 will make the compiler use a float. And an int times an int = int with a 16 X 16 multiply an (long)int times an int = int with a 32 X 32 multiply Last I heard a 16 X 32 multiply would violate ANSI. I am not sure if it is still true. |
| Topic | Author | Date |
| The art of typecasting | 01/01/70 00:00 | |
| I'd like to disagree | 01/01/70 00:00 | |
| two comments | 01/01/70 00:00 | |
| Two comments on comments | 01/01/70 00:00 | |
| The Art of correct Constants | 01/01/70 00:00 | |
| int - number of bits unknown | 01/01/70 00:00 | |
| Corrected Art of correct Constants | 01/01/70 00:00 | |
| More assumptions | 01/01/70 00:00 | |
| stdint.h | 01/01/70 00:00 | |
| Or, in the absence of stdint.h... | 01/01/70 00:00 | |
| Const vs #define | 01/01/70 00:00 | |
| Opps! | 01/01/70 00:00 | |
| which may be a reason to prefer #define over const | 01/01/70 00:00 | |
| enum | 01/01/70 00:00 | |
| Varies | 01/01/70 00:00 | |
| Know Thy Stuff - enum | 01/01/70 00:00 | |
| You are right | 01/01/70 00:00 | |
| Know Thy Stuff | 01/01/70 00:00 | |
| And... | 01/01/70 00:00 | |
| I'll pass(cal) on that one :) | 01/01/70 00:00 | |
| Everything in C defaults to int, which is signed | 01/01/70 00:00 | |
| Never overlook lint | 01/01/70 00:00 | |
| before Steve says it... | 01/01/70 00:00 | |
| Pascal | 01/01/70 00:00 | |
| strong typing | 01/01/70 00:00 | |
| why Ada never took off | 01/01/70 00:00 | |
| Wirth-less | 01/01/70 00:00 | |
Why ? | 01/01/70 00:00 |



