Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Falsches Ergebnis bei Division Kategorie: Programmierung C (von Hannes - 13.04.2006 19:47)
Ich nutze:
C-Control Pro Mega32, eigenes Board
Hi,

eine ganz einfache Rechnung aber leider falsch sobald der Dividend größer 32800 wird.
Es √§ndert sich nichts wenn man den Datentyp von  word  auf  unsigned int  √§ndert.

Gruss


Interpreter gestartet - 2kb RAM                                                
31000 3100                                                                      
31100 3110                                                                      
31200 3120                                                                      
31300 3130                                                                      
31400 3140                                                                      
31500 3150                                                                      
31600 3160                                                                      
31700 3170                                                                      
31800 3180                                                                      
31900 3190                                                                      
32000 3200                                                                      
32100 3210                                                                      
32200 3220                                                                      
32300 3230                                                                      
32400 3240                                                                      
32500 3250                                                                      
32600 3260                                                                      
32700 3270                                                                      
32800 62263                                                                    
32900 62273                                                                    
33000 62283                                                                    
33100 62293                                                                    
33200 62303                                                                    
33300 62313                                                                    
33400 62323                                                                    
33500 62333                                                                    
33600 62343                                                                    
33700 62353                                                                    
33800 62363                                                                    
33900 62373
_____________________________________________________________

word a,b;

void main(void)
{
    for (a = 31000; a < 34000; a=a+100)
    {
        b = a/10;
        Msg_WriteWord(a);
        Msg_WriteChar(0x20);        // Leerzeichen
        Msg_WriteWord(b);
        Msg_WriteChar(0x0D);        // CR
        AbsDelay(200);
    }

    while(1);
}



    Antwort schreiben


Antworten:

Re: Falsches Ergebnis bei Division (von PeterS - 14.04.2006 15:07)
    Re: Falsches Ergebnis bei Division (von Joerg - 23.04.2010 13:16)
        Re: Falsches Ergebnis bei Division (von PeterS - 23.04.2010 14:28)