C xc8 rozkald double na byty

Radek Benedikt benedikt na lphard.cz
Pátek Květen 12 17:01:20 CEST 2017


Ahoj,

 

V odpovědích se zacinaji michat odpovedi z ruznych urovni typu promena /
konstantni promena / konstanta preprocesoru

 

#define je prikaz preprocesoru a ten si nesahne na promenou !

 

Tj. umyslem je mam 4 bytovou konstantu preprocesoru

 

#define CTYRBYTE 0x440C0000

 

A rozsekat se to ma na 4 bytove konstanty preprocesoru?

 

Otazka je v tomto pripade ale proc to delat. Na tohle se klasicky pouziji
makra, vybirajici první..ctvrty byte z konstatnty. Ten zdrojak je pak
rozhodne citelnejsi. I když to muze sem tam zavleci nejakou chybu když se
preventivne nedaji zavorky a vyhodnoti se spatne priorita operaci z makro  /
vyraz zadany jako parametr ale toho bych se v tomto pripade nebal.

 

Radek (benedikt2hw.cz)

 

 

From: Hw-list [mailto:hw-list-bounces na list.hw.cz] On Behalf Of Miroslav
Draxal
Sent: Friday, May 12, 2017 11:56 AM
To: 'HW-news' <hw-list na list.hw.cz>
Subject: C xc8 rozkald double na byty

 

Dobrý den,

Jde nějak v C ve zdrojáku rozložit číslo ve tvaru double na 4 byty?

 

Potřeboval bych tvar

 

Double x = 560.0;

 

Rozložit do tvaru

 

#define byt1       0x44

#define byt2       0x0C

#define byt3       0x00

#define byt4       0x00 // což je prezentace 0x440C0000 což je 560.0

 

560.0 je konstanta, která se mění při každém programování zařízení a pokaždé
to musím přepočítávat do byt1 ~ byt 4. Nějakou automatizaci bych potřeboval,
protože těch konstant je vícero.

Díky za nápady. Míra

------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20170512/64376f98/attachment-0001.html>


Další informace o konferenci Hw-list