Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Where possible, it is best to avoid using char and short as local variables. For the types
- char and short the compiler needs to reduce the size of the local variable to 8 or 16 bits
- after each assignment. This is called sign-extending for signed variables and zero-
- extending for unsigned variables. It is implemented by shifting the register left by 24 or 16
- bits, followed by a signed or unsigned shift right by the same amount, taking two
- instructions (zero-extension of an unsigned char takes one instruction).
- These shifts can be avoided by using int and unsigned int for local variables. This
- is particularly important for calculations which first load data into local variables and then
- process the data inside the local variables. Even if data is input and output as 8- or 16-bit
- quantities, it is worth considering processing them as 32-bit quantities.
Advertisement