www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Versteht der Mega8 Plus Minus Mal Geteilt


Autor: Seb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

hätte mal die Frage ob ich in einem C - Programm Variablen
zusammenzählen, voneinander abziehen, miteiander malnehmen und
durcheinader teilen kann und ob der Mega8 dann das auch kapiert.

z.B.  Variable C = Variable A / Variable B

MFG

Seb

Autor: Bjoern M. (salival)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
waere schlimm, wenn nicht. bei / mit integer ist noch zu beachten, dass
der "Rest" dabei wegfaellt. aber das ist nicht anders, als bei jedem
anderen C-programm auch.

gruss, bjoern.

Autor: Marco S. (masterof)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Adieren und Subtrahieren kann jeder.
Multiplizieren und Diviediren kann man enweder als software oder es ist
in der Hardware drin.

Autor: SIGINT (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Marco: Es ging hier um C!

@Seb: Wenn du einen normalen C Compiler hast, dann kann der das zu
100%.
C ist standarisiert nach C99 und dies schliesst alle wichtigen
mathematischen Funktionen mit ein. Aber praktisch jede Hochsprache
kennt mathematische Funktionen, waere ja peinlich wenn nicht. Assembler
ist keine Hochsprache und deshalb bist du dort auch die Funktionen
angewiesen, die der Prozessor zur verfuegung stellt... man kann aber
immer per Software die Funktionen implementieren

Gruss,
  SIGINT

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist mit nem C-Compiler ganz kommod:

Wenn er etwas nicht versteht, gibts nen syntax-error.


Peter

Autor: SIGINT (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nach ISO C99 sind bei jedem C Compiler die mathematischen Funktionen
Pflicht, deshalb wird der das verstehen. Alles andere darf sich nach
ISO nicht C-Compiler nennen.

Autor: Marco S. (masterof)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nutz der AVRGCC beim ATmega den Hardwaremultiplikator oder macht der das
alles in Software?

Autor: Hauke Radtki (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich denke mal (würde es anders denn sinn machen?) er nutzt den hardware
multiplizierer ... der ist nunmal schneller.

Autor: Ronny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst generell alle Operationen die in einem beliebigen C Buch
stehen benutzen.Nur kann es passieren das sehr viel Rechenzeit benötigt
wird,wenn die Zielhardware eine Operation (z.B die Division) nicht
unterstützt (oder der Compiler nicht weiss,das die Operation verfügbar
ist) weil die Operation dann aus Befehlen die Verfügbar sind zusammen
'gebastelt' wird.Eine Divison in einer Schleife kostet also einiges
an Rechenzeit extra,wenn sie nicht in implementiert ist.

Autor: Marko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
gerade Divisionen gehen ziemlich ans Eingemachte,
ich versuche bei der Programmierung des µC
immer z.B. Messwerte in 2er 4er 8er oder 16er blöcken
zusammenzufassen weil die Division dann einfach durch
verschieben des Wertes um 1,2,3 oder 4 Stellen erfolgt.
Das geht schnell.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.