Re: Součet v C

Petr Stehlik petr.stehlik
Středa Březen 17 14:27:17 CET 2004


Nepomuze treba takto?

unsigned int U_Bat_Prum,ADRES;
usugned char U_Bat_Buf[2];
U_Bat_Prum=(unsigned int)U_Bat_Buf[0]+(unsigned int)ADRES;

----- Original Message -----
From: Michal Gregor
To: hw-news@list.gin.cz
Sent: Friday, May 24, 2002 7:08 PM
Subject: Sou?et v C


Zdrav?m, za?in?m si hr?t s C a narazil jsem na n?kolik probl?mu:

1)
ADRES a pole  U_Bat_Buf[2] je d?lky 8 bit? unsigned
U_Bat_Prum je 16 bit? unsigned.
U_Bat_Prum=U_Bat_Buf[0]+ADRES;
Tento ??dek CCX5 nepo??t? korektn?, v?sledek je dlouh? pouze 8 bit?.
Kdy? uprav?m pole U_Bat_Buf[2] na uns16 u? to po??t? spr?vn?. Znamen? to ale
zpomalen? v?po?tu, del?? program a v?ce RAM. Nelze to ud?lat n?jak jinak?


2)
  U_Bat_Prum=U_Bat_Buf[0]+ADRES+25; se mu nel?b?


  U_Bat_Prum=U_Bat_Buf[0]+ADRES;
  U_Bat_Prum=U_Bat_Buf[0]+25;Ale  tohle vezme
Je tam chyba, nebo CCX5 neum? dlouh? v?razy?



P?edem d?ky, Michal





Další informace o konferenci Hw-list