|
|
|
![]() |
|
|||||||
|
||||||||
|
|
Thread Tools | Rate Thread | Display Modes |
|
#5
|
|||
|
|||
|
Re: Typecasting Resources
The simplest example I can think of is:
char x = 65; char y = 66; char a; int b; /* a is not large enough to hold 131 even if the arithmetic did what was expected. a equals -125. */ a = x + y; /* b = large enough to hold 131 but the arithmetic will still be done as above since the compiler doesn't look at the left side of the equation. */ b = x + y; /* Force the arithmetic to be done in 16 bits by casting one of the members */ /* a still can't hold 131 but the compiler should issue a warning for loss of precision if the warning level isn't high enough. ALWAYS set the warning level as high as possible! */ a = (int) x + y; /* This gets rid of the warning but is still wrong. */ a = (char) ((int) x + y); /* The "correct" way to do it. b = 131 */ b = (int) x + y; |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Resources | Peg Cwiakala | General Forum | 1 | 31-03-2006 07:21 |
| Rookie Resources... | Gurdian | General Forum | 5 | 13-03-2006 07:53 |
| Team Resources | alfman05302001 | General Forum | 4 | 04-05-2004 15:51 |
| List of Resources? | Eric Bareiss | General Forum | 9 | 31-01-2004 07:51 |
| Resources | archiver | 2000 | 1 | 23-06-2002 23:49 |