-
Data: 2019-02-05 21:56:08
Temat: Re: Modulo 10
Od: Wojciech Muła <w...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Tuesday, February 5, 2019 at 8:25:43 PM UTC+1, DMR wrote:
> https://godbolt.org/z/Xs117J
>
> Ktoś potrafi ogarnąć co tam jest grane?
> Nie widzę niczego podobnego do instrukcji dzielenia...
Tutaj dzielenie przez stałą jest realizowane
za pomocą mnożenia przez aproksymację odwrotności 10,
ponieważ dzielenie jest bardzo wolne.
Jak sobie zobaczysz na zoptymalizowany kod (opcja -O3)
dla dzielenia x/10, to on się sprowadza do operacji:
(x * 3435973837) >> (32 + 3)
Gdzie stała 3435973837 = 2^35 / 10
mov eax, edi
mov edx, -858993459 ; czyli 3435973837
mul edx ; wynik mnożenia w parze edx:eax
mov eax, edx ; edx = wynik >> 32
shr eax, 3 ; eax = (wynik >> 32) >> 3
Tu masz opis:
https://gmplib.org/~tege/divcnst-pldi94.pdf
Generalnie chodzi o to, jaki wykładnik 2 w liczniku wybrać
w zależności od dzielnika. Ewentualnie jakie korekty
przed lub po mnożeniu są potrzebne, żeby poprawnie zaokrąglać.
w.
Najnowsze wątki z tej grupy
- Xiaomi [Chiny - przyp. JMJ] produkuje w całkowitych ciemnościach i bez ludzi
- Prezydent SZAP/USONA Trump ułaskawił prezydenta Hondurasu Hernandeza skazanego na 45 lat więzienia
- Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Re: Najgorszy język programowania
- NOWY: 2025-09-29 Alg., Strukt. Danych i Tech. Prog. - komentarz.pdf
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
Najnowsze wątki
- 2026-01-22 Złomnik ty pisowska SZMATO! ;-)
- 2026-01-22 PID - jeszcze raz
- 2026-01-22 konkret24.tvn24.pl "gwarantuje": za SAMO wylanie gnojówki pod domem tusk-ministra aresztu nie będzie! ;-)
- 2026-01-22 Prawo na wesoło: nakaz rozbiórki "dwóch przyczep samochodowych" jako budynku ;-)
- 2026-01-22 Airtagi
- 2026-01-22 Warszawa => Full Stack Developer (Go/React) <=
- 2026-01-22 Warszawa => Senior Account Manager <=
- 2026-01-21 Nissan Leaf II 40kWh - degradacja baterii, SOH, uszkodzona bateria
- 2026-01-21 Fwd: zarzuty dla kulsonów
- 2026-01-21 Koniec Eldorado :)
- 2026-01-21 Warszawa => Senior Account Manager <=
- 2026-01-21 Gdańsk => Frontend Developer React <=
- 2026-01-21 Zakazy dla małolatów
- 2026-01-20 Majo przesrane :)
- 2026-01-20 Kiedy zajmiemy Bornholm?




Fakturzystka, fakturzysta