Article View: pl.comp.lang.c
Article #309964Mnożenie i dodawanie 64 bitowych liczb
From: Borneq
Date: Tue, 05 Nov 2019 11:30
Date: Tue, 05 Nov 2019 11:30
23 lines
1856 bytes
1856 bytes
Mam x*y+a+b Mnożenie używa intrin.h lub GCC 128 bitów według https://stackoverflow.com/questions/28868367/getting-the-high-part-of-64-bit-integer-multiplication Teraz mam jeszcze dodanie dwóch liczb 64 bitowych do 128 bitowego rezultatu złożonego z dwóch zmiennych przy dodawaniu albo nie nastąpi przepełnienie albo gdy nastąpi to starszy wyraz zwiększamy o 1, można zrobić jakąś detekcję, gdy po dodaniu wynik jest mniejszy niż każdy ze składników, wystarczy chyba porównać z jednym dowolnym, to zwiększamy o 1, nie trzeba by nawet działać na 128 bitach, ale... musiałbym użyć if, które chyba od Pentium jest wolne, bo niszczy potokowość instrukcji. I czy lepiej 128+64 128+64 czy najpierw zsumować dwa mniejsze: 64+64 = 64 + carry 128+64+carry Wolałbym nie robić wstawek w assemblerze, przy mnożeniu się udało, gdy korzystam z intrin.h , ale została jeszcze drobnostka dwóch dodawań.
Technical Details
Message-ID:
<5dc15d6b$0$551$65785112@news.neostrada.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin2!goblin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin2!goblin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail Newsgroups: pl.comp.lang.c X-Mozilla-News-Host: news://news.neostrada.pl:119 From: Borneq <borneq@antyspam.hidden.p> Subject: Mnożenie i dodawanie 64 bitowych liczb Date: Tue, 5 Nov 2019 12:30:51 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 Lines: 23 Message-ID: <5dc15d6b$0$551$65785112@news.neostrada.pl> Organization: Telekomunikacja Polska NNTP-Posting-Host: 91.239.205.59 X-Trace: 1572953451 unt-rea-a-02.news.neostrada.pl 551 91.239.205.59:63871 X-Complaints-To: abuse@news.neostrada.pl Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit