C: char -> int

Jaroslav Buchta jaroslav.buchta na gmail.com
Středa Květen 12 12:13:15 CEST 2010


Ta konstrukce mi prijde velmi zvlastni... Spis bych volil
pom = (((unsigned int)HighByte) << 8)  |  LowByte) // nektere zavorky 
jsou asi zbytecne

To prekladac vetsinou zoptimalizuje dobre (byte hodi hned do vyssiho 
byte int)
Ten Union je kazdopadne elegantnejsi.


Dne 12.5.2010 11:19, Ondrej napsal(a):
> Druhá možnost je použít "union" - někdy to vede k menšímu a/nebo 
> rychlejšímu kódu.
>
> OH
>
> Dne 12.5.2010 9:35, Jan Půhoný napsal(a):
>> Dobrý den,
>>
>> mám dva chary LowByte a HighByte,
>>
>> pom=(pozice_H1*prevod)/10;
>> LowByte = (unsigned char)pom;
>> HighByte = (unsigned char) (pom>>8);
>>
>> jak je nejlépe spojit zpět do int?
>>
>> Vygooglil jsem něco v tomto smyslu:
>>
>> pom=(256 * HighByte + LowByte) – 256 * 256;
>>
>> ale překladač mi to nebere...
>>
>> PRAC_DRV.C(236): error C100: unprintable character 0x96 skipped
>> PRAC_DRV.C(236): error C141: syntax error near '256'
>>
>> Díky za nakopnutí,
>>
>> Honza Půhoný
>> _______________________________________________
>> HW-list mailing list  -  sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>



More information about the Hw-list mailing list