Цитата(DMD @ May 17 2008, 01:46)

unsigned char t = 255;
unsigned f = t << 3;
Хелп читать надо и по настройкам лазить! Советские инженеры блин...
Все правильно компилятор делает! Контроллер-то 8-ми битный! операции над int'ами занимают больше времени чем над char'ами. Хотите пример? Пожалуйста:
Код
; char a,b,c;
; a -> R17
; b -> R16
; c -> R19
; a = b + c;
MOV R30,R19
ADD R30,R16
MOV R17,R30
; a = (char)((int)a + (int)b);
MOV R26,R17
LDI R27,0
SBRC R26,7
SER R27
MOV R30,R16
LDI R31,0
SBRC R30,7
SER R31
ADD R30,R26
MOV R17,R30
Какой код будет работать быстрее? Может такты посчитаем?
Но если вам все равно на скорость, а хочется "
правильности" то вам сюда:
Project -> Configure -> C compiler -> Code generation -> Promote char to int