'else' without a previous 'if'
25 berichten
• Pagina 3 van 3 • 1, 2, 3
Re: 'else' without a previous 'if'
ja dan onderdruk je ze wel, maar ze staan er wel, en als het klein is dan merk je het niet, maar vul maar eens belachelijk grote getallen in.
paul deelen
shooter@home.nl
shooter@home.nl
Advertisement
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: 'else' without a previous 'if'
Zoals shooter al aangeeft: floats hebben een nauwkeurigheid van 6-7 cijfers. Dus als jij met een getal komt van 10.278.324,12433 dan ga je wat cijfers verliezen. Op 32 bits heb je al wat meer mogelijkheden omdat je dan met 15 cijfers ongeveer kan werken. Op een STM32 processor heb ik dtostrf() aangepast om een maximale nauwkeurigheid te behalen. Na 15 cijfers was het wel afgelopen en krijg je vreemde getallen. Overigens double wordt bij Arduino omgezet en behandeld als een float dus double invullen levert geen verschil.
Re: 'else' without a previous 'if'
Test sketch:
- Code: Alles selecteren
void setup()
{
Serial.begin( 9600);
Serial.println( "Drie is geen drie");
float drie = 2.999999;
Serial.println( drie, 0);
Serial.println( drie, 8);
}
void loop()
{
}
Re: 'else' without a previous 'if'
Ik zat fout! De Serial.println() blijkt af te ronden, terwijl ik dacht dat de cijfers achter de komma afgekapt werden. Dus als je 2.5 afdrukt met nul decimalen dan wordt het ook drie.
Het probleem dat ik probeerde duidelijk te maken kan ik alsnog voor elkaar krijgen op deze manier:
Het probleem dat ik probeerde duidelijk te maken kan ik alsnog voor elkaar krijgen op deze manier:
- Code: Alles selecteren
void setup()
{
Serial.begin( 9600);
Serial.println( "Drie is geen drie");
float drie = 2.4999999;
Serial.println( drie, 0);
Serial.println( drie, 8);
}
void loop()
{
}
Re: 'else' without a previous 'if'
Dit afronding sketchje moet, niet noodzakelijkerwijs precies in deze vorm, straks een deel worden van een groter programma. Dat zou een sketch moeten worden voor een aquarium led verlichting controller. De afronding ben ik dan nodig omdat ik op mijn LCD scherm wil kunnen zien met hoeveel procent lichtintensiteit de desbetreffende led lichtbalk op dat moment brand. Hoe groot, beter gezegd, met hoeveel getallen achter de komma er gewerkt wordt alvorens er op een percentagegetal afgerond wordt weet ik nu eigenlijk nog niet. Er moet nog heel veel uitgezocht worden...
Overigens lees ik de gezonden argumentatie met heel veel belangstelling! Wie weet komt het mij van pas...
Groet,
Ben.
Overigens lees ik de gezonden argumentatie met heel veel belangstelling! Wie weet komt het mij van pas...
Groet,
Ben.
25 berichten
• Pagina 3 van 3 • 1, 2, 3
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 12 gasten