CCS printf()

Nya'ri Viktor office at flexelec.hu
Mon Jul 11 18:23:52 CEST 2005


>> Ez igy is van rendjen. Ha nagyobb a szam, akkor nem fogja levagni, hanem
>> kimegy minden digit.
>> Stringnel lehet csak ilyet.
> 
> 
> Nemtom, mi az ANSI C szabvány, de a CCS (ami _nem_annyira_ ANSI 
> tudomásom szerint) pl. az int16-nál bizony levágja, úgy ahogy írtam.
> Mert ha van pl. egy szám, ami mondjuk 0..1023 tartományban mozoghat, 
> annak ugye már nem elég az int8, használnom kell az int16-t; viszont ha 
> mondjuk LCD-re akarom kiiratni, akkor meg elég a 4 digit, és lehet hogy 
> nincs 5 digitnyi helyem, csak 4. Szal ilyenkor bizony jó ez a funkció, 
> és a CCS-nél int8-nál és int16-nál ez müködik is; akkor szerintem 
> logikus lenne, hogy int32-nél is így müködjön, de a manualja is ezt írja:

Bocs, hülyeséget írtam, mert ha az értéke max. 1023, akkor is csak max. 
4 digitet irna ki; akkor meg nemtom, miért van benne ez, de hogy pl. 
int16-nál kajakra levágja a felsöbb digiteket, az tuti; ezt most 
kipróbáltam.

int16 valami = 0xFFFF;
printf("%3lu",valami) az 535-t ir ki a 65535 helyett; ez tuti. Na én 
ebből indultam ki; valahol biztos szükség van erre; mittomén.




More information about the Elektro mailing list