-
Thread
Wie viel Bit nötig für Operandenspezifikation?
eintippt. Unzählige Leute sind daran verzweifelt, dass hier bei a / b / c im Desktop-Modus keine Division dasteht, im der Vorschau und im Mobil-Modus hingegen schon, weil die Forensoftware die beiden Schrägstriche als Kennzeichnung von /kursiv/ ansieht. Ob Andreas das wohl absichtlich so verwirrend gebaut
#7108043: > Unzählige Leute sind daran verzweifelt, dass hier bei a b c im > Desktop-Modus keine Division dasteht, im der Vorschau und im Mobil-Modus > hingegen schon, weil die Forensoftware die beiden Schrägstriche als > Kennzeichnung von kursiv ansieht. Ob Andreas das wohl absichtlich so > verwirrend
-
Thread
Delay -Problem
..." _Wenn_ F_CPU 1 MHz beträgt. Du aber arbeitest mit 7.3728 MHz, also resultieren aus der Division etwa 35 msec.
-
Thread
womit füllt atmel bit shift (>>) die neuen bits auf?
nirgendwo heruntergezählt. Ansonsten sollte, bei vorzeichemlosen a, das rechts-schieben einer Division entsprechen.
den xc8 free compiler von microchip verwendet, hat man das problem, dass der solche power-of-two-divisionen nicht optimiert. Deswegen habe ich mir angewöhnt, es manuell einzugeben.
-
Thread
Backgroundworker mit C#.net
0.000xxxxxxxxxxx Format haben, aber könnte diese Werte ja als ganzzahl nehmen und später noch ne Division durchführen
-
Thread
Wurzel ziehen am Cortex M0
ist ein iteratives Verfahren zur Berechnung der Quadratwurzel und besteht aus einer Addition und Division. mfg
iteratives Verfahren > zur Berechnung der Quadratwurzel und besteht aus einer Addition und > Division. Ich hätte da noch den http://www.mikrocontroller.net/topic/241857#2460028 Der dortige Algorithmus braucht nicht mal eine Division, sondern nur Schiebeoperationen. Und wenn man dann die Rechenbreite
-
Thread
Eigener Taschenrechner
zu verbinden. außerdem würde es mich noch interressieren ob subtraktion, multiplikation und division auchnoch realisierbar wären, oder ob das viel komplizierter wird.
Naja. Für Subtraktion braucht's nen 2er Komplementierer. Multiplikation sollte noch gehen aber Division erfordert schon einiges an Gehirnschmalz. Warum willste das überhaupt aufbauen? Wäre ein PC-Simulator zum lernen nicht besser? Oder willste einfach nur löten um des lötens Willens?
-
Thread
Cortex M oder A für Roboter?
eine bahn abzulaufen benoetigt man doch so gefuehlte 20xAddition/subtraktion, 10xMultiplikation/division, paar mal wurzel ziehen und ein wenig trigonometrie berechnungen pro achse und anlaufpunkt (Rückwärtsrechnung)... reichen da die 168MHz nicht aus? >Warst Du überhaupt schon mal auf einer Roboter-Messe
-
Thread
PIC Assembler Division 8Bit
Hallo zusammen, ich suche nach einer Möglichkeit mit einem PIC in Assembler eine Division durchzuführen. Konkret geht es darum, einen 8Bit Wert, der allerdings nur Werte zwischen 5 und 90 liefert, durch einen ebenso 8Bit Wert, genauer dez. 10 zu dividieren. Also in etwa so: Ausgangswert
Hallo Mache die Division in C und schaue dann im Disassemblier nach dem Assembler Code.
-
Thread
Algorithmus zum Durchsuchen großer Felder
: > Und inwiefern sollen hier 8x8 Blöcke vorteilhaft sein gegenüber 10x10 > Blöcken? Eine Division durch 8 bzw. Multiplikation ist für eine CPU einfacher. /edit: 8x8=64 (und nicht 256 Pixel wie im Vorpost)
Roland Praml schrieb im Beitrag #3940421: > Eine Division durch 8 bzw. Multiplikation ist für eine CPU einfacher. > > /edit: 8x8=64 (und nicht 256 Pixel wie im Vorpost) Ob das allerdings relevant ist...? Ohne Division sollte man auskommen und die Multiplikation
-
Thread
Drehimpulsgeber Rastung Bascom, welcher ist der richtige Typ?
nutzen. Also zählt Bascom dann für einen Schritt 2 oder gar 4 Impulse? Somit löst eine einfache Division durch 2 oder 4 das "Problem"?
Ja. Eine Schiebeoperation ist aber schneller als eine Division. Sinngemäß so. Der encoder Befehl muss schnell genug in einem Timer aufgerufen werden. Dim B As Byte Dim Pos As Byte Dim Pos_real As Byte B = Encoder(pinb.0 , Pinb.1 , Links , Rechts ,
-
Thread
nochmal delta/sigma
überabtastung (bei dem sensor 4096-fach) lange teile gemittelt werden (summe und dann shift als division). dann ist dezimiert auch gleich, und dann halt noch ein einfacher tiefpaß. wenn das nicht grob falsch ist, geb ich mich zufrieden.
überabtastung (bei dem sensor 4096-fach) lange > teile gemittelt werden (summe und dann shift als division). dann ist > dezimiert auch gleich, und dann halt noch ein einfacher tiefpaß. wenn > das nicht grob falsch ist, geb ich mich zufrieden. Jepp, so ungefahr kann man das machen. Es ist halt ein
-
Thread
Was definiert die Bittigkeit einer CPU
www.easy68k.com/paulrsm/doc/dpbm68k3.htm 1983, Thomas W. Starnes, Motorola Inc., Microprocessor Division
-
Thread
Nötige Takte für Codeabschnitt herausfinden
möglichst effizient zu schreiben. Mein Ringpuffer hat den Wraparound 255++ = 0 ausgenutzt, alle Divisionen waren Shifts (FIR in Matlab entsprechend konstruiert) usw. Und dann hab ich tatsächlich im Datenblatt geguckt welche Operationen wie lange dauern. Das steht da ja drin, man muss nur die Wertebereiche
-
Thread
Pause im Interrupt
Millis eine halbe Sekunde? Weißt du, was ein Modulo ist? Das ist der Rest einer ganzzahligen Division. 7/2 = 3, Rest 1 643/500 = 1, Rest 143 1000/500 = 2 Rest 0 1500/500 = 3 Rest 0 Wann sind immer 500(ms) um? Genau, wenn der Rest 0 ist. Du willst 3 Mal blinken. Genau genommen ist das
-
Thread
STM32F4: Datenübertragung extrem langsam
/int/ - Ausdruck, der ist konstant 0. Wolltest Du 0.001 erzeugen, müsstest Du eine /float/ -Division durchführen, also "wait_nms(10.0 / 1000.0)" verwenden. Auch wenn das 'ne Konstante ist: Keine gute Idee. Benenne die Funktion um in wait_microsec() und übergebe ihr einen int, also hier 10.
Dies ist meine Wartefunktion in ms (10/1000) = 0,001 ms. Wenn (und falls) ich annehme, dass die Division, egal aus welchem Zahlenbereich Dividend und Divisor kommen, eine reale Zahl oder auch rationale Zahl ergeben, dann stimmt das im Bereich der Mathematik. Allerdings stimmt das auch in C nicht grundsätzlich
-
Thread
Auswahl eines ARM-µC für Einsteiger
Cortex M0+ die wichtigsten ARM-Vorteile wie bedingte Ausführung und Barrel-Shift eingespart wurden. Division hat er auch nicht. DMA haben auch beide.
M0+ die wichtigsten ARM-Vorteile wie bedingte > Ausführung und Barrel-Shift eingespart wurden. Division hat er auch > nicht. Mehr Einsatz von 16Bit und 32Bit Datentypen Verarbeitung und..... >DMA haben auch beide. Naja du möchtest doch jetzt nicht den sehr speziellen und begrenzten light
-
Thread
TWI IC2 Taktrate berechnen
TWBR – TWI Bit Rate Register", findet man: *Bits 7...0* !! TWI Bit Rate RegisterTWBR selects the division factor for the bit rate generator. The bit rate generator is a frequency divider which generates the SCL clock frequency in the Master modes.
bits will be reset to “0000”. If CKDIV8 is programmed, CLKPS bits are reset to “0011”, giving a division factor of 8 at start up"
-
Thread
einstellbarer Taktteiler in VHDL
Desing läuft. Also kein Pfad im Multiplizierr länger als 20 ns ist > Aber zeig mir doch mal eine Division, die genauso einfach geht. Recht hast, da war ich etwas vorschnell. Ne Division durch 5 wird schon echt bescheiden *gg*
vhdl] if count < ((125000000 / signed_DIP) - 1) then [/vhdl] Das wird nicht gehen. Eine Division wird in dieser Art von der Synthese nicht unterstützt. Nur Divisionen durch konstante Zweierpotenzen werden synthetisiert.
-
Thread
Frequenzteiler aus d Flipp Flopp
Flanken des Eingangssignals wechselt Bit 0 einmal seine Polarität. was gleichbedeutend mit einer DIvision der Frequenz des Signals durch 2 ist.
-
Thread
Mit FPGA Computerbau möglich?
kleinere CPU (kleiner Computer) also für die ALU Inkrement, Dekrement, Addition, Substraktion, Division, OR, AND, XOR, INV, NZVC-Flags dazu eine kleine FPU (Fix oder Float, darüber denke ich noch nach). Dazu ein wenig RAM und für I/O erst einmal nur eine Handvoll Ports. Und was zu diesen Sachen dazu
kleinere CPU (kleiner Computer) also für die ALU > Inkrement, Dekrement, Addition, Substraktion, Division, OR, AND, XOR, > INV, NZVC-Flags Das mit der Division ist dann schon sportlicher... > dazu eine kleine FPU (Fix oder Float, darüber denke ich noch nach). Ich meinte, eine FPU wäre immer Float
-
Thread
Ich verstehe den Timer0 beim ATtiny 13 nicht.
Inhaltes "aus dem Topf herausgenommen" und 1/256 des neuen Messwertes hineingelegt. Die vermeintliche Division durch 256 geschieht per Byteshifting, muss also nicht gerechnet werden. Somit ergibt sich ein gleitender Mittelwert, der jederzeit gültig ist, im Gegensatz zur Aufsummierung der Messwerte über
-
Thread
Arduino Programmierung ( Widerstandsmessung )
Messwerte, die du vom ADC erhältst im Bereich 0 bis 1 Beispiel: ADC liefert nach der Division 100 0.1302 258 0.3359 380 0.49479 (380 ist ungefähr die Hälfte von 768) 640 0.8333 760 0.9895 768
-
Thread
Programmoptimierung
adhigh, ADCH ; danach das mittlerweile gesperrte High Byte ;in ASCII umwandeln ; Division durch mehrfache Subtraktion ldi ztausend, '0'-1 ; Ziffernzähler direkt als ASCII Code Z_ztausend: inc ztausend subi adlow, low(10000) ; -10,000 sbci adhigh
adhigh, ADCH ; danach das mittlerweile gesperrte High Byte ; in ASCII umwandeln ; Division durch mehrfache Subtraktion ldi zeichen, '0'-1 ; Ziffernzähler direkt als ASCII Code Z_ztausend: inc zeichen subi adlow, low(10000) ; -10,000 sbci adhigh
-
Thread
State Machine ohne Clock
die Denkarbeit erledigen. Und denken kann der nicht. Was Du natürlich machen kannst, ist, Divisionseinheiten nacheinander zu schalten. Mit Generic-Anweisungen. Das ist aber wieder was ganz anderes.
. Es werden Optimierungen gemacht, die das /Verhalten/ des Codes nicht verändern. Aber: Ob eine Division nun rein kombinatorisch durch massiv parallele Hardware, oder in mehreren Takten durch sequenzielle Nutzung der Hardware geschieht, ist ein riesiger Unterschied. Von daher sind automatische Optimierungen
-
Thread
Assemblerprogrammierung
liest sie dann, in einer zweiten schleife, wieder runter und gibst sie aus. (Aber Vorsicht, die X86-Division ist ein Befehl den du sehr gut verstehen musst.) Vor der Ausgabe musst natürlich noch auf Ascii (mit Addition) konvertieren. Du bist bestimmt Student im Info-Kurs (das ist eine der typischen Aufgaben
-
Thread
80 Bit / 80 Bit auf dem AVR dividieren
vervielfachen, was mir irgendwie misfällt. Warum? Hast Du überhaupt mal abgeschätzt, wie schnell Du die Division brauchst? Es lohnt nicht, irgendwas zu optimieren, wenn es keinen merkbaren Effekt hat. Peter
Harware-Multiplizierer, das merkt man gewaltig (meine Routinen sind auf 18F ca. 10x schneller bei Multiplikation und Division). Ob der Atmel einen Harware-Multiplizierer hat, weiss ich ehrlich gesagt nicht. Wolfgang
-
Thread
Division in VHDL
besitzt. Willst du allerdings nur eine Division in der Simulation verwenden, kannst du ruhig den "/" Operator nehmen. Wenn sich die Möglichkeit gibt, dann berechne die Divisionen lieber im vorraus und rechne mit den Ergebnissen als konstanten
ein Ergebnis erhält? Das ist nicht der Fall! Wenn du sowas willst, dann musst du mehrere Divisions-Komponenten parallel schalten und multiplexen.
-
Thread
Carry abfrage in Assembler
C //ABFRAGE ldi r28, 0b10000000 mov r30, r26 ;Lade Divident in Divisionsregister r30 ldi r31, 2 ;Lade Divisor in Divisionsregister r31 rcall division ;dividiere die zwei zahlen mov Schwellwertmiddle, Ergebnis ;bringe errechneten
gepostet habe, habe ich entwickelt, ausser vielleicht kleine Unterprogramme sowie bsplsweise die Division, die habe ich aus einem Toturial und habe sie so umgeändert wie ich wollte, ich habe es natürlich auch verstanden lg andy
-
Thread
Hardware Multiplikation
zu nehmen. Man lässt einfach die nicht signifikanten unteren weg. Allerdings ist das nicht eine /Division/ durch 12, sondern quasi ein /Schieben/ um 12 Bit. Das Blöde an deinen Werten ist, dass der Wert > b => "000000000001", extrem ungünstig gewählt ist. Mit ein wenig Nachdenken wird dir das
-
Thread
Drei Frequenzbereiche mit FFT bestimmen
-fade)*cch[i])>>8)+((fade*nch[i])>>8);[/c] Geht jedenfalls schneller al erst mal eine richtige Division auszuführen. Man könnte auch erstmal die beiden Werte in einen Vorzeichenfreien 16-Bit Integer addieren und den dann 8 Bits nach rechts schieben. Das ist dann noch etwas schneller, da nur einmal
-
Thread
ab welchem AVR lohnt sich C statt asm?
usw. Wenn man es nachrechnet, dann ergibt das in etwa (abgesehen von den Rundungsfehlern bei der Division) wert=ADC*1,234; Zeit: etwa 40 Takte, Speicherplatz: 28 Bytes Das funktioniert mit jeder noch so krummen Zahl: 1024->5,000mV ergibt einen Faktor von 4,8828125: wert=4*ADC+ADC-ADC/8+ADC/128;
benötigt etwa 170 Takte, das sind immerhin etwa 1/3 von der 32bit Version. Bei Controllern ohne Division ist die oberste Version eindeutig die schnellste. Allerdings muss der Faktor zur Compilezeit schon bekannt sein, und der Programmierer muss sich Gedanken machen und die einzelnen Faktoren ausrechnen
-
Thread
Datei in ein C-programm einlesen
im Geist) TTL-Gräber gebaut um eine ALU zu erhalten. Es gab keine Multiplikationsbefehle, keine Division etc. Das hatte als Nebeneffekt zur Folge, das man mit dem Gedanken, das sich das grosse Ganze aus vielen kleinen Einzelheiten zusammensetzt, vertraut wurde und keine davon unterschätzt werden darf
-
Thread
Wieder mehr Aktivität auf Kurzwelle?
aktuelles "Funkwetter" über WWV 10MHz zu Minute 18. https://www.nist.gov/pml/time-and-frequency-division/time-distribution/radio-station-wwv/wwv-and-wwvh-digital-time-code Und PTB misst auch: https://www.ptb.de/cms/nc/ptb/fachabteilungen/abt2/fb-25/ag-251/live-daten-erdmagnetfeldmessung.html ciao
-
Thread
Ist mein Encoder Programm so gut?
sind. Ansonsten sind zwei Vergleiche in Integer weitaus weniger aufwendig als eine komplette GK-Division, die ja dem Modulo zugrunde liegt. MaWin schrieb im Beitrag #7015917: > Es ist SOOO einfach es richtig zu machen, dass dieser ganze Flankenkram > einfach nur dumm ist. Ach du mal wieder
-
Thread
Kabel für Oszilloskop und Wave Generator
ein Oszilloskop spezifischer Stecker Wie der Name schon andeutet (NMD = Network Measurement Division) ist er nicht Oszilloskop-spezifisch, sondern wurde ursprünglich für die Netzwerkanalyse entwickelt. Von der ehemaligen HP-Abteilung, die auch die HP 8510 und HP 8720 gebaut hat. Grund dafür war die
-
Thread
Zahlenausgabe
aber noch kleiner und schneller, wenn Du die float Ausgabe wegläßt. Du mußt ja noch die Divisionsfunktion bei Dir mit dazu zählen. Und wie schon oben gesagt, Subtraktion ist schneller als Division. Und Zeigeroperanden sind auf dem AVR grundsätzlich langsamer und aufwendiger als Registeroperanden
von rechts nach links machen lassen und den entstehenden String danach spiegeln. Spart ein paar Divisionen ein.
-
Thread
AVR Control Experimentierplatine
mir. Also solltest du das auch hinbekommen. Liebe Grüsse und hoffe etwas geholfen zu haben. Division Ach ja, wenn du nicht so recht weiter kommst, dann immer fragen. ABER mit GENAUER Beschreibung!!!!!!!! Was geht nicht? Was hast du gemacht? Welche Sprache? Welcher Controller... usw. Mit Beiträgen
? Ist der in C? Würde mich freuen, wenn du mir den mal mailen würdest. Liebe Grüsse Division
-
Thread
Quarz schwingt zu schnell
External clock • Main clock features: – Safe run-time switching – Prescaler with 1x to 64x division in 12 different settings
-
Thread
IG Metall Bayern Tariff
erwähnt. ist das richtig? Nein, du musst dort 114,2857 Prozent eingeben; das ergibt sich aus der Division 40h/35h.
-
Thread
conversion float nach int
avr-gcc v8, also inclusive Startup-Code und Lib-Funktionen (32-Bit Fixed-Point Multiplikation und Division mit Rundung zum Nächsten). Mit "unsigned accum" und Konstanten (Suffix "uk") fällt die Codegröße auf unter 300 Bytes. Mit weiterer [unsigned] accum Arithmetik wächst die Code größe dann nur
-
Thread
uint16_t Subtraktion mit uint32_t
Hier ist kein C Buch gefragt, sondern Basis-Ganzzahl-Arithmetik - insbesondere Modulo (bei uns als Division mit Rest bekannt) Arithmentik... Die Addition von einer uint Zahl wo alle Bits gesetzt sind, entsprich faktisch einer Subtraktion von 1 in solch einer Zahlengeraden. Fun fact: Intern kann ein
ist kein C Buch gefragt, sondern Basis-Ganzzahl-Arithmetik - > insbesondere Modulo (bei uns als Division mit Rest bekannt) > Arithmentik... Natürlich ist hier Ganzzahl-Arithmetik gefragt, nur was genau? Hat sich Irgend W. (Firma: egal) (irgendwer) nur verrechnet, oder hat er etwas falsches gerechnet
-
Thread
Potentiometer-Parallelschaltung
oder 8. Damit macht man dem Compiler das Leben bedeutend einfacher, weil er die (komplizierte) Division durch einen (simplen und schnellen) Schiebevorgang ersetzen kann...
-
Thread
Statemachine springt in falsche "states" warum?
kannst Du Dir die Fehler einholen wie mit jedem asynchronen Signal in einer FSM ! Gruß DivisionByZero
Synplify generiert), dann können wir den heissen Pfad mal genauer untersuchen... Gruß DivisionByZero
-
Thread
STM32 Thermistor Temperaturberechnung ohne FPU
wie logf(tmp_f) - logf(ADC_NTC_NOM_RESISTANCE_OHM). Lezteres ist konstant und schon bist du eine Division los. Ich würde alles komplett in einander einsetzen und durch passendes Umformen erstmal versuchen die Division soweit es geht los zu werden. Als nächstes kann man sich dann logf genauer anschauen
deinen Quellabschnitt überflogen und komme auf 2 Multiplikationen, einen Logarithmus und fünf Divisionen. Soweit das dasteht. Soweit ich mich erinnere, muß man für die gewöhnliche Steinhart-Hart Formel nicht x-mal irgend etwas immer wieder umrechnen, mal ganz grob geht das etwa so: tmp = ln(R);
-
Thread
Grundfrequenz eines Signals mit AVR messen
sein, gerade für Niederfrequenz ist das viel höher auflösend. Dazu muss man allerdings eine große Division ausführen, damit ist der Tiny eine Weile beschäftigt.
-
Thread
Schieben vs. Tabelle
Mit uint8_t hast Du einen logical-right-shift. Bei uint8_t bekommst Du das auch mit Division durch 2 statt >>. Natürlich ist der Compiler so intelligent, und ersetzt die Division durch `lsr` (AVR). Dann hast Du das Problem mit dem UB nicht, wenn mehr als die Anzahl der Bits geschoben wird
-
Thread
avr-gcc 5.2 für Windows
Code mit Lint etc. untersuchen, auf Undefined Behavior testen (Signed-Overflow, Aliasing-Regeln, Division durch 0, INT_MIN / -1, Schreiben von nicht-volatile const-Objekten, etc.) Beachte, dass nicht alle Fehler zur Compilezeit erkannt werden können, und Sanitizer für avr-gcc nicht zur Verfügung stehen
-
Thread
Unsigned Variablen vermeiden
1. Operanden in normalen Berechnungen (+, -, *, /) nach Möglichkeit immer signed 2. Divisionen mit negativen Operanden vermeiden 3. Bit-Operationen (&, |, ^, ~) nur mit positiven¹ Operanden 4. Shift-Operationen (<<, >>) nur mit positivem¹ linken Operanden 5. Absichtliche Überläufe
-
Thread
Abschätzung Rechenzeitverbrauch einer ISR
Codeabschnitt implementiert tut sich auch leichter (vor allem wenn diese Festkommaarithmetik und Divisionsoptimierung durch Shiften von Zweierpotenzen benutzt). Und diese Vorteile überwieden imho den Nachteil, dass der "Steuer"interrupt möglicherweise öfters ausgeführt wird. Bei 30 Takten (mittlerweile
-
Thread
Division mit WinAVR sehr langsam?
Der Zeitwurm wird ganz woanders stecken. Eine Int-Division dürfte unter 10µs liegen. Selber 'herumzuschifften' ist m. E. voll daneben.
angesprungen, pop-shift-push-ret, absolut graesslich. Die minimale Menge an shift-sub fuer eine division mit einer konstanten ist ein einfacher algorithmus. Eine kleine Uebung fuer vor dem Fruehstueck.