Float gccavr
Masz problem? Zapytaj na forum elektroda.pl
From: "Mister" <wojpie_at_nospam_poczta.onet.pl>
Subject: Float gccavr
Date: Fri, 17 Oct 2003 14:02:50 +0200
Witam,
jak w prosty sposób zamienic w avrgcc float na integer aby to nastepnie
prosto np. wyswietlic?
Uzycie printf raczej nie wchodzi w rachube z powodu zbyt duzego kodu.
Zreszta nie jestem pewien czy wystepuje taka funkcja w avrgcc.
Pozdrawiam
Mister
========
Path: news-archive.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!news2.icm.edu.pl!news.onet.pl!newsgate.onet.pl!niusy.onet.p
From: "Marcin Stanisz" <mstanisz_at_nospam_poczta.onet.pl>
Subject: Re: Float gccavr
Date: 17 Oct 2003 14:52:05 +0200
jak w prosty sposób zamienic w avrgcc float na integer aby to nastepnie
prosto np. wyswietlic?
Uzycie printf raczej nie wchodzi w rachube z powodu zbyt duzego kodu.
Zreszta nie jestem pewien czy wystepuje taka funkcja w avrgcc.
Jaki printf? Do zamiany (co prawda double, ale mozna zawsze
rzutowanie zrobic) na integer to sluzy floor(), ale tobie pewnie chodzi
o dtostrf().
Pozdrawiam i proponuje lekture dokumentacji libc.
--
Marcin Stanisz
--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
========
Path: news-archive.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!news2.icm.edu.pl!newsfeed.silweb.pl!news.onet.pl!not-for-mai
From: "radek" <swiniaczek_at_nospam_buziaczek.pl>
Subject: Re: Float gccavr
Date: Sat, 18 Oct 2003 10:11:20 +0200
Może tak:
float beka_piwa=1000.999;
unsigned int moje_zainteresowania;
unsigned int reszta;
unsigned char array[5];
//-------------zamiana na BCD---------------------------
void binbcd16(unsigned int data)
{
char i;
for (i=0;i<5;i++) { array[i]=data%10; data=data/10; }
}
//------------------------------------------------------------
void main(void){
moje_zainteresowania=(unsigned int) beka_piwa;
// tzn. zost. przypisane 1000 reszta jest gubiona
reszta=(unsigned int)(1000*(beka_piwa-(float) ((unsigned int)beka_piwa)));
// a tu reszta 999
binbcd(moje_zainteresowania);
// zamiana na bcd;
// <----tu wprowadzasz na wyświtelacz
binbcd(reszta);
// <----tu wprowadzasz na wyświtelacz.
}
pozdr.
radek
Użytkownik "Mister" <wojpie_at_nospam_poczta.onet.pl> napisał w wiadomości
news:bmolrs$ibi$1_at_nospam_nemesis.news.tpi.pl...
Witam,
jak w prosty sposób zamienic w avrgcc float na integer aby to nastepnie
prosto np. wyswietlic?
Uzycie printf raczej nie wchodzi w rachube z powodu zbyt duzego kodu.
Zreszta nie jestem pewien czy wystepuje taka funkcja w avrgcc.
Pozdrawiam
Mister
========
Path: news-archive.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!news.man.poznan.pl!news.nask.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai