-
Thread
Frage zu Primzahlenaufgabe
deinen Beitrag! Nur das verstehe ich leider nicht ganz. Meiner Überlegung nach müsste doch bei der Division des Terms 1 + p1*p2*....pn durch die jeweilige Primzahl immer der Rest 1 entstehen? Beispielsweise 1+2*3*5=31 => 31:5=6R1. Dann wäre allgemein formuliert immer das Ergebnis des Terms der kleinste
p1*p2*....pn sein kann. Das entspricht Deinem "Meiner Überlegung nach müsste doch bei der Division des Terms 1 + p1*p2*....pn durch die jeweilige Primzahl immer der Rest 1 entstehen?" Jetzt bleibt noch zu zeigen daß der kleinste Teiler größer 1 von 1 + p1*p2*....pn (genannt p(1 + p1*p2*...
-
Thread
3-Wort Adressen
die Zahl der Äquatorsegmente dividieren (das ergibt die Nummer des Breitengrads) und der Rest der Division ist die Nummer des Längengrads. Dann noch in Grad umrechnen und auf der Karte anzeigen. Und inspirieren lassen haben die sich ganz klar von den Seed-Kodierungen gängiger Bitcoin-Wallets, auch dort
-
Thread
Interrupt wird ständig aufgerufen
Systick Handler gemessen. Mit dem Oszilloskop messe ich ca. 68us. Damit ist klar, warum die Division des Systick Interrupts mit dem Teiler 1.000.000 für ein 1us Intervall nicht funktioniert. Danke euch allen für die Unterstützung.
-
Thread
C: Berechnung fehlerhaft?
PI_corr ++ ; [/c] Bei dieser Methode entfällt zudem der Rundungsfehler durch die ganzzahlige Division.
Da mir solche Divisionen durch 65535 (oder durch 255, ...) überhaupt nicht gefallen, verschiebe ich den 'Rundungsfehler' lieber an das untere Ende des Messwertes. z.B.: Messwert ist 1023 -> Messwert + 1 -> 1024 -> und
-
Thread
8bit ADC-Wert verarbeiten/umrechnen
würde da jetzt mit C anfangen. Dann sparst du dir den Assembleraufwand für die Multiplikation, Division und was noch so nötig wäre...
= x * m1 / m2 + b mit z.B. m1=361, m2=256 und b=-84. Das spart dir schon mal Float-Rechnung und Division. > Da hätte ich auch keinen Hardware-Multiplizierer. Dann wirst du die Multiplikation wohl in Software, ggf. hart kodiert mit Addieren und Schieben machen müssen, also [pre](((((x << 2) + x)
-
Thread
Integer zu 20Bit Char
= Vvalue; // das %10 ist hier nicht mehr nötig... [/c] Das sieht zwar nach vielen Modulo und Divisionen aus, aber dafür ist die Schleife weg...
kann Man kann 0 beliebig oft durch irgendwas teilen. Es kommt immer 0 dabei raus. Und bei einer Division von 0 durch irgendwas ist der Rest immer 0...
-
Thread
Impulse zählen, Stückzahl / Stunde ermitteln und auf Display wiedergeben
Das geht z.B. mit Periodendauermessung und anschließender Division. Ein sogenannter Reziproker Frequenzzähler.
-
Thread
uCurrent Gold
Waffle-Verpackung statt in Tape/Reel: https://www.digikey.de/product-detail/de/vishay-foil-resistors-division-of-vishay-precision-group/Y14870R01000B9W/Y1487-.01-ND/1888124 Der kostet aber leider 11,92 Euro netto. Die 13 Euro gesamt werden schwierig, zumindest bei Digikey: Die Schalter liegen dort
-
Thread
Division mit Logikgattern
Dann hast du nicht aufgepaßt. Ende der Ansage. Der Trick ist: es gibt Sonderfälle bei der Division, die sich mit sehr viel weniger Aufwand in binärer Logik abhandeln lassen. Das Halbieren eines Wertes ist so ein Sonderfall...
Der Zähler enthält dann das ganzzahlige Divisionsergebnis. Das geht mit Logikgattern recht einfach. Habe ich damals im 1. Semester des Studiums mal mit einem CPLD gemacht.
-
Thread
16 Bit Timer mit Atmega 1284p
Sorry, der Sinn von 20-1 ist mir nicht klar. Ist nicht 20 minus 1, sondern das Resultat der Division minus 1 wegen Punkt-vor-Strich-Rechnung. Schaue Dir die Formel mal an in obigem Auszug aus dem Datenblatt und löse die Gleichung nach OCRnA auf. Dann weisst Du auch, wo die -1 herkommt. Allerdings
-
Thread
Atmega32 AD_Wandler
register ADCSRA den prescaler einstellen? weil im datenblatt steht: "ADPS2:0 these bits determine the division factor between the XTAL frequenzy and the input clock to the ADC" . aber an XTAL hab ich ja garnichts hängen... Und die Hardware stimmt? also nichts vergessen und die spule/Kondensatoren richtig
-
Thread
drehzahl messen mit Inkrementalgeber 1024 Striche
CountMultiplikator*256+CountValue)*300)/1024; Bei 16-Bit-Multiplikation läuft der Klammerausdruck vor der Division garantiert über, sobald CountMultiplikator > 0 ist
-
Thread
GPS Daten Umrechnen und ausgeben (float to string)
Ziffer zu ermitteln. Beispiel: 1.23: 1.23 / 0.01 = 123, du willst aber vermutlich nur die 3 haben. (Division und Modulo, bzw ftoa) Überleg dir nochmal ganz genau, was du machen möchtest, wie du es von Hand lösen würdest.
-
Thread
moderne, mechanische rechner
Und der Z1 hatte selbst Division und Wurzel-Ziehen im Befehlssatz! Das hatte nicht mal der Z80 drauf.
-
Thread
Taktberechnung für PLL (allgemein)
current_MUL) * current_DIV) [/pre] braucht man (a) im Idealfall Fließkomma und hat (b) teure divisionen und multiplikation in der Schleife Man kann sich beides wie folgt sparen. Zunächst kann man die Gleichung so umformen: [pre] clock * DIV = FQ * MUL mit A = clock * DIV B = FQ * MUL
1 erhöht, kann man B neuberechnen mit B = B + FQ. Man hat also keine Multiplikationen und Divisionen mehr.
-
Thread
Suche Quarzoszillator 67,109Mhz
Frequenz_Registerwert = fout * 2^28 / fclock Um diese Berechnungen im MC durchführen zu können, brauche ich Division- und Multiplikationsfunktionen für min. 38 Bit !!! Ich mache zwar schon lange mit Assembler rum, möchte mich da aber trotzdem nicht unbedingt reinsteigern. Wenn meine fclock 67,109MHz ist, dann
Standardquarz 4.194304MHz mit einer PLL um Faktor 16 verlängern? Ist aber anstrengender wie eine Divisionsroutine.
-
Thread
Problem mit Berechung Sinus "C"
für float. Außerdem ergibt 1200/2000 den Wert 0, weil beide Werte vom Typ int sind und somit die Division auch mit Typ int durchgeführt wird.
1200/2000 ist eine ganzzahlige Division mit dem Ergebnis 0. Damit berechnest du den Sinus von 0.0.
-
Thread
Mathematik-Routinen
bedeutet das ich sie nicht erweitern möchte. Aber mir fehlt der ansatz und zum zweiten wollte ich Division und Multiplikation mit Kommastellen nicht neu erfinden.
Rechenroutinen ist eine gute Übung. Also zuerst Addition, dann Subtraktion. Später Multiplikation und Division. Kannst das ja auch zuerst im Simulator testen, das ist komfortabel um zu schauen, was aus den Werten wird. Bei Fragen einfach den Code hier reinstellen. Aber nur durch selbstmachen lernt man
-
Thread
Faszinierende Computergrafik
Und nochmal in weiß ohne unnötige Division.
Ich hab die Kugeln farbig gemacht und ihnen eine Eigenbewegung gegeben. Für die Farben ist die Division aber glaubich nötig.
-
Thread
PWM-Leistungsregelung NICHT LINEAR!
Step-Down Drosselwandler bauen. ausserdem ist [c] vergleich = vergleich / 0,156; [/c] eine Division durch Null, vermutlich ein Tippfehler.
-
Thread
8 bit vs. 16 bit
sowohl mit 8051 als auch mit ARM7 schon gearbeitet. Doch Quatsch, der ARM7TDMI hat garkeine Division, der 8051 sehr wohl. Die 8Bit-Division ist daher beim 8051 schneller und kleiner. Und der Codebedarf der 16-,32Bit-Lib fällt immer nur bei dem ersten Aufruf an. Die 32Bit-Division sieht nur deshalb so groß aus, weil sie auf Schnelligkeit getrimmt ist. Sie besteht aus 4 einzelnen Divisionsroutinen, je nachdem, ob durch 8,16,24 oder 32Bit dividiert wird. Die höherwertigen Register werden zu Anfang auf 0 getestet und dann die entsprechende Routine ausgeführt. Die float Grundrechenarten
-
Thread
Temp. Meesung mit NTC
Hierfür reicht Integer-Arithmetik (16 * 16 Bit signed Multiply mit 32 Bit Ergebnis) und 32 / 16 Bit Division locker aus wenn man entsprechend skaliert (z.B. in Zehntelgraden). Gruß Anja
, mit der ich einen NTC berechnen kann und in der nur Addition, Subtraktion, Multiplikation und Division vorkommen. Damit wäre mir schon sehr geholfen. Ich stelle mir die Sache so vor: Wenn ich den Kontroller in Betrieb nehme, wähle ich einen NTC aus, halte diesen erst in Eiswasser und drücke die Kalib-Taste
-
Thread
AVR Assembler Ganzzahl durch Kommazahl
http://www.mikrocontroller.net/articles/Festkommaarithmetik#Division_durch_Konstanten
Kann es sein, dass Du "nach links shiften" meinst? Denn nach rechts ist ja Division durch 2, da bleibt am Ende nix übrig. ;-(
-
Thread
Messwerte glätten
schnell, aber ressourcenschonend)? Eine long Variable pro Kanal zum aufaddieren und anschließender Division scheint mir zu ressourcenintensiv. Eine exponentielle Glättung ist sicher zu langsam. Was gäbe es noch für Möglichkeiten? Grüße, Bastian
Bastian G. wrote: > Eine long Variable pro Kanal zum aufaddieren und anschließender Division > scheint mir zu ressourcenintensiv. > Eine exponentielle Glättung ist sicher zu langsam. Da sieht man mal wieder was heute fuer Vorstellungen von Rechenleistung bestehen. Unter 64Bit bei 3GHz
-
Thread
Summe von 1 bis n mit Komplexität O(1)
kleiner als bei meiner obigen Formel, hier brauchst Du eine Addition, eine Multiplikation und eine Division, Du bist also in der Ordung O(1), damit ist die Aufgabe geloest (mit der anderen Formel brauchst Du 3 Multiplikationen und eine Addition. Michael
kleiner als bei meiner obigen Formel, hier brauchst Du eine Addition, > eine Multiplikation und eine Division, Du bist also in der Ordung O(1), > damit ist die Aufgabe geloest (mit der anderen Formel brauchst Du 3 > Multiplikationen und eine Addition. 3 Multiplikationen und eine Addition wäre auch O(
-
Thread
Vervierfachung der Latenzzeit bei Multiplikation
. Dies funktioniert präzise und schnell. Immerhin benötige ich pro Berechnung bis zu 10 Float-Divisionen und das Resultat kommt in <5ms... Ich sehe keinen Grund für die Umstellung auf INTEGER.
-
Thread
Leistungsberechnung
berechnet habe. Aber da die ganze Geschichte ja innerhalb einer Sekunde passieren soll passts wieder (Division durch 1s). P = delta_E_Kin/t = (E_kin_120 - E_kin_100)/1s = (1/2 * 1200 * (120/3,6)^2 - 1/2 * 1200 * (100/3,6)^2)/1 = (1/2 * 1200 * [(120/3,6)^2 - (100/3,6)^2])/1s Die Differenz der
-
Thread
welcher "Standardquarz" für einfach AVR-Schaltung
handschriftlich zu verfassen, da ein Stromausfall die 'Daten' nicht zerstören kann. Oder man verbietet die Division 10/3, weil da ja ein krummes Ergebnis erscheint: 3,3333...
-
Thread
CRC berechnet + Problem
1 1 0 1 0 1 1 0 1 1 Generator: 1 0 0 1 1 Frame 0-Bits: 1 1 0 1 0 1 1 0 1 1 0 0 0 0 Division: 1 1 0 1 0 1 1 0 1 1 0 0 0 0 / 1 0 0 1 1 = 1 1 0 0 0 0 1 0 1 0 1 0 0 1 1 ------------------------------------+ | | | ---------
-
Thread
uC 80C535 inkl Assembler Kurs
wurden gerne Delayschleifen (Turbo-Pascal) verwendet und die ergeben aber bei über 200MHz einen Division/0-Fehler. Diese Sorte Programme geht definitiv nicht mehr auf einem heutigen PC. Andererseits haben heutige PCs oft keine COM mehr und man muß einen COM-USB Umsetzer nehmen. Dieser wiederum kann durch
-
Thread
AD-Wandler Free Running - Mega8
nicht genug. Dann setze ich ADLAR ... hab mich schon gefragt wozu dieses bit gut ist. Zu der Division durch 32, das ist quasi ein bit-shift nach links. z.B.: 10110011 >> 5 = 00000101 --- --- Das sind dann Zahlen von 0 bis 7 (3 Bit) dann brauch ich keine 8 if(zahl<x &&
Chris J. wrote: > Zu der Division durch 32, das ist quasi ein bit-shift nach links. > > z.B.: 10110011 >> 5 = 00000101 > --- --- > Das sind dann Zahlen von 0 bis 7 (3 Bit) > dann brauch ich keine 8 if(
-
Thread
Division durch 100
19Bit) berechnen. Wenn ich versuchen meineZahl*Prozentsatz/100 zu berechnen, dann habe ich eine Division durch 100. Division ist (fast) immer übel, aber gibt es vielleicht ein schnelle/einfache Division durch 10 oder 100? Oder hat jemand ne ander Idee? danke patrik
Einfach die Zahl mit 2^16/100=655 multiplizieren und die unteren 16 Bit wegwerfen. Fertig ist die Division durch Hundert. Siehe [[Festkommaarithmetuk]]
-
Thread
8-Bit Zahl an LCD ausgeben
Anders gesagt, ein AT89C2051 macht sofort die Grätsche (hat nur 2kB). Und der AVR hat keine Division. Dein Rat war also richtig gut um zu zeigen, wie man es nicht machen sollte ! Peter
-
Thread
MSP430 MSGCC Performance
entweder garnicht, oder nur durch eine 2er-Potenz-Konstante dividiert wird. Oder du ersetzt die Division durch eine Multiplikation mit Kehrwert*(2**N) und anschliessendem Shift um N (gibt evtl. falsche Rundung).
es schon besser aus. Also X/Y = (X*(256/Y))/256. Aus dem /256 wird dann >>8, und schon ist die Division weg.
-
Thread
binär-Decimal Umwandlung von Daten
Interessant wird es erst bei Zahlen grösser 0b00001001. Wie sollen die dann aussehen? Dreistellig? Divisionsroutinen wurden hier letzte Woche diskuttiert... Eigentlich (in C) sehr simpel, wenn man sprintf etc umgehen will: unsigned char n; // umzucodierende Zahl (0..255) unsigned char einer, zehner,
-
Thread
Rechnen im Hex-Dezimalsystem mit Dezimalanzeige
mich mit Alternativen zu beschäftigen ;-) Welche konventionelle Methode ist denn damit gemeint? Divisionen in VHDL sind ja auch so ne Sache, wenn sie nicht grad durch Vielfache von 2 sind. T.M. ============================= http://editthis.info/freefpga =============================
-
Thread
Laufzeitoptimierung
die integer division wird auf einem 8bitter lange dauern. Als Alternative eine long Multiplikation mit anschliessendem Rechts-Shift. #define Dmin 7838 #define Dmax 57457 unsigned int phase; unsigned long temp
Ich habe nun auch die Division verkürzt. Mein Ergebnis: phase -= Dmin; long32 = (unsigned long)phase; long32 = long32 << 16; div = (Dmax - Dmin); div = div >> Div; long32
-
Thread
Tiefpass 2. Ordnung
diesem Fall quadriert) wird. Bei einer Gleichung, in der ausschließlich Multiplikationen (und Divisionen) vorliegen, ist das aber trivial...
-
Thread
Debug-Start im internen SRAM
Ich glaubs ja nicht, das Ding hat Bitbefehle und Division! Ist quasi ein 32Bit 8051-er. Könnte mir schon gefallen. Blöd ist nur, daß wir uns schon auf den LPC eingeschossen haben. Peter
-
Thread
Vedische Mathematik auf µControllern?
aber egal. Wenn der feststellen soll, ob die letzte Ziffer 5 ist, muss er erst mal eine Modulo-Division machen. Super. Erst mal Modulo-Dividieren um rauszufinden ob er für eine Multiplikation mit 5 den schnellen Weg gehen kann, oder ob die Multiplikation konventionell durchgeführt werden muss. Das wirds
-
Thread
Taster (vom Fendt Schlepper) erneuern
about-us/history/ "acquired by ITT Industries in the 2000s and eventually becoming ITT’s switch division, retaining the C&K name." Das heißt, der Taster kommt nach wie vor vom selben Hersteller. Die gehören heute zu "Littelfuse".
-
Thread
Zeitdauer Regelalgorithmus auf Hardware
zur Laufzeit dann nur noch multiplizieren zu müssen. Oder noch was für b) Multiplikation oder Division mit/durch Zweierpotenzen durch Schiebeoperationen ersetzen. mfg mf
-
Thread
STM32: 2x PWM mit Phasenversatz?
htim1.Init.CounterMode = TIM_COUNTERMODE_UP; htim1.Init.Period = 1200; htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; htim1.Init.RepetitionCounter = 0; htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; if (HAL_TIM_OC_Init(&htim1) != HAL_OK) { Error_Handler()
-
Thread
Schnelle Modulo-Operation mit variablen Parametern
schrieb im Beitrag #6052713: > Dennoch wird es schwer sein, mit einer > mikroprogrammierten Division, wie sie bspw. die > x86-Prozessoren haben, zu konkurrieren. Wir gehen von verschiedenen Voraussetzungen aus. Ich hatte unter "die Division" natürlich eine schriftliche Division per Software
in Radix 4 zu dividieren (=> Pentium Divisionsfehler). https://de.wikipedia.org/wiki/SRT-Division Oder auch gänzlich anders: https://de.wikipedia.org/wiki/Goldschmidt-Division "Dabei wird die Division auf eine Multiplikation zurückgeführt,
-
Thread
"Asynchroner Addierer" in Verilog (noob alert)
mit der Wahl der Datentypen (double, Float versus signed integer) über die Wahl der Opratoren (division versus shift) endet noch lange nicht bei der Tiefe der verwendetet ROM-LUT's. Bspw. profitieren, falls ich mich irre, Butterfly-FFT's erheblich von der Vorhandensein einer bit-reverse Addressierung
der Wahl der Datentypen (double, Float versus > signed integer) über die Wahl der Opratoren (division versus shift) Der Punkt ist mir schon klar. Ich hab das auf dem xmos rein in Integer-Aritmetik implementiert und alle Divisionen rausgeworfen bis auf ein finales asl. Und ja, in meinem Verilog
-
Thread
Array mit Kommas getrennt ausgeben in C
printf ("%d", array [i]); > } Warum so kompliziert? Und ineffizient (doppelter printf-Aufruf, Division...)?
. Die Division wird wegoptimiert, macht aber den Code flexibler.
-
Thread
verständnisfrage code
ausgeführt? so schauts aus.. es wird nicht nur nichts ausgeführt, der Code rennt in einen divisionby0 error (der hoffentlich irgendwo behandelt wird) ich halte die Zeile für mindestens unschön ehrlich gesagt.. wenn es um die Ausführung geht reicht die zweite Hälfte völlig [c]if(sizeof(*parameter
#6075630: > so schauts aus.. es wird nicht nur nichts ausgeführt, > der Code rennt in einen divisionby0 error > (der hoffentlich irgendwo behandelt wird) > > ich halte die Zeile für mindestens unschön ehrlich gesagt.. > wenn es um die Ausführung geht > reicht die zweite Hälfte völligif(sizeof
-
Thread
Effizientes Bitcount für 8, 16 u. 64 Bit?
Nachtrag: Wenn Dein Microcontroller keine Division kann, dann gibts da schnellere Wege als den Modulo-Operator.
stehen. Diese werden zusammengezählt, dann hat man das Ergebnis. Bei einem Microcontroller ohne Division würde ich das mit einer Kombination aus Shift, And und Addition lösen. Hier hat man es aber mit einem Modulo 255 gelöst. Ich verstehe es selber nicht so ganz, aber es funktioniert tatsächlich. Es
-
Thread
Preiswertes Grafik-Display/-LCD gesucht
kram durchsuchen und dann aus irgendwas ausbauen. Son alltes Messgerät oder so. Liebe Grüsse Division
-
Thread
Terminalprogramm
und deren Anzahl mitzaehlt. Fuer kleine Zahlen ist dass gar kein schlechter Ersatz fuer eine Division.
Sorry. % ist die C-Schreibweise fuer 'modulo'. Also der Rest der bei einer Division uebrig bleibt. (So wie in der Grundschule, 2. Klasse: Eine Frau hat 7 Äpfel und 3 Kinder. Wieviele Äpfel bekommt jedes Kind und wieviele Äpfel bleiben übrig.) Wenn Du die fortgesetzte Subtraktion