Forum: Projekte & Code Division von zwei long-Variablen in C


von Max G. (l0wside) Benutzerseite


Lesenswert?

Hat sich dank konstruktiven Feedbacks erledigt.

: Gesperrt durch Moderator
von Axel S. (a-za-z0-9)


Lesenswert?

Bahnhof! Welcher C Compiler kann denn nicht schon von Haus aus eine 
long Variable durch eine zweite long Variable dividieren?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Und vor allem: Welcher Compiler verwendet eine eingebaute 
Divisionsroutine, die weniger effizient ist als der Code?

von (prx) A. K. (prx)


Lesenswert?

Hast du das wenigstens mal ausprobiert?

div_long(LONG_MIN, 2L) gibt 0 statt 0xc0000000
div_long(LONG_MIN/2, 1L) gibt 0xe0000000 statt 0xc0000000
div_long(LONG_MIN/2, 2L) gibt 0xeaaaaaab statt 0xe0000000

: Bearbeitet durch User
von Jürgen S. (jurs)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Und vor allem: Welcher Compiler verwendet eine eingebaute
> Divisionsroutine, die weniger effizient ist als der Code?

A. K. schrieb:
> div_long(LONG_MIN, 2L) gibt 0 statt 0xc0000000
> div_long(LONG_MIN>>1, 2L) gibt 0xeaaaaaab statt 0xe0000000

Das ist der Beitrag von Max G. zu Halloween:
Unbedarfte Programmierer erschrecken ("Dein Compiler hat kurz vor 
Halloween das Dividieren von long-Werten verlernt"), und ihnen einen 
gruseligen Code zeigen, der noch dazu falsch dividieren kann.

Happy Halloween!

von (prx) A. K. (prx)


Lesenswert?

Jürgen S. schrieb:
> Das ist der Beitrag von Max G. zu Halloween:

Offensichtlich. Und zwar div_long(1L, LONG_MIN)

von Bastler (Gast)


Lesenswert?

> und ihnen einen
> gruseligen Code zeigen, der noch dazu falsch dividieren kann.
Der geschickte Kaufmann nennt das Alleinstellungsmerkmal.
Die wenigsten C-Compiler können falsch dividieren. Mit diesem frei zur 
Verfügung gestellten Code kann man dieses potentielle Monopol brechen 
;-)

von Mark B. (markbrandis)


Lesenswert?

Bastler schrieb:
> Der geschickte Kaufmann nennt das Alleinstellungsmerkmal.
> Die wenigsten C-Compiler können falsch dividieren. Mit diesem frei zur
> Verfügung gestellten Code kann man dieses potentielle Monopol brechen
> ;-)

LOL :-)

Ist der Beitrag vom OP als Satire zu verstehen? Oder was soll das ganze?

Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.