Cecko a jeho syntaxe...
Admin HWnews
hwnews na cncnet.info
Středa Říjen 20 10:30:07 CEST 2021
Tak v zahlavi bylo jeste tohle...
//Ex.) char cVal[10]; float fVal=((22.0 /7.0)*256)-46.85;
// dtoa(fVal,cVal,4); Serial.println (String(cVal));
//arguments...
// float-double value, char array to fill, precision (4 is .xxxx)
//and... it rounds last digit
Dne 20.10.2021 v 10:17 Jindroush napsal(a):
> Mimochodem, pokud jste nic neodstranoval (mysleny komentare) a
> nepreformatovaval, toto je ucebnicovy priklad toho, jak nema vypadat
> C/C++ kod. Tj. problem neni v syntaxi, ale v programatorovi bezicim ve
> write-only modu.
> Jen ve zkratce: zadne komentare, nesmyslne formatovani, nejasne nazvy
> promennych, nejasne nazvy parametru
> J.
>
> On 20.10.2021 9:38, Admin HWnews wrote:
>> Ja vim, ze asi zadelavam na flame, ale narazil jsem na kus kodu, kde
>> sice vim co to dela, ale je mi naprostou zahadou jak a proc...
>>
>>
>> char* dtoa(double dN, char *cMJA, int iP) {
>> char *ret = cMJA; long lP=1; byte bW=iP;
>> while (bW>0) { lP=lP*10; bW--; }
>> long lL = long(dN); double dD=(dN-double(lL))* double(lP);
>> if (dN>=0) { dD=(dD + 0.5); } else { dD=(dD-0.5); }
>> long lR=abs(long(dD)); lL=abs(lL);
>> if (lR==lP) { lL=lL+1; lR=0; }
>> if ((dN<0) & ((lR+lL)>0)) { *cMJA++ = '-'; }
>> ltoa(lL, cMJA, 10);
>> if (iP>0) { while (*cMJA != '\0') { cMJA++; } *cMJA++ = '.'; lP=10;
>> while (iP>1) { if (lR< lP) { *cMJA='0'; cMJA++; } lP=lP*10; iP--; }
>> ltoa(lR, cMJA, 10); } return ret; }
>>
>> RV
>
Další informace o konferenci Hw-list