🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #308836

Re: Jak wykryć przeniesienie przy dodawaniu /odejmowaniu ?

#308836
From: bartekltg
Date: Fri, 07 Oct 2016 14:58
29 lines
1934 bytes
On Friday, October 7, 2016 at 3:50:57 PM UTC+2, Borneq wrote:
> Mam liczby bez znaku, licznik się przekręca gdy po dodawaniu wynik 
> będzie mniejszy, ale od czego?
> x = a
> x += b
> i teraz przekręcenie gdy a+b<a, ale czy tu nie ma symetrii i nie należy 
> porównywać z b?
> A coś takiego:
> x = a+b

W przypadku przekręcenia wynik będzie wynosił

a+b-2^64

Możęsz sobie sprawdzić, zę to ejst liczba mniejsza zarowno od a, jak i od b. 

a+b -2^64 ?< a
Kasujemy a, przesuwamy stałą na drugą stronę
b ?< 2^64 
Co jest oczywiście prawdą. 

Powtórz rachunek dla b.


Ja bym zadał inne pytanie, czy kompilator wpadnie na to,
by skorzystać z flagi przeniesienia? 

pzdr
bartekltg
Technical Details
Message-ID: <20c3abe9-06b6-44ec-a23e-78f845d17e54@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.glorb.com!l13no916125itl.0!news-out.google.com!w143ni2778itb.0!nntp.google.com!o19no920899ito.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
References: <nt8980$m8l$1@node1.news.atman.pl>

Show Full Headers
Complete Article Headers
X-Received: by 10.107.33.70 with SMTP id h67mr5402629ioh.75.1475852292362;        Fri, 07 Oct 2016 07:58:12 -0700 (PDT)
X-Received: by 10.36.185.91 with SMTP id k27mr1968974iti.6.1475852292329; Fri, 07 Oct 2016 07:58:12 -0700 (PDT)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.glorb.com!l13no916125itl.0!news-out.google.com!w143ni2778itb.0!nntp.google.com!o19no920899ito.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.lang.c
Date: Fri, 7 Oct 2016 07:58:11 -0700 (PDT)
In-Reply-To: <nt8980$m8l$1@node1.news.atman.pl>
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=212.87.7.105; posting-account=CvUQzQoAAABvVQmR58QmR6N4Cev1qhAS
NNTP-Posting-Host: 212.87.7.105
References: <nt8980$m8l$1@node1.news.atman.pl>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <20c3abe9-06b6-44ec-a23e-78f845d17e54@googlegroups.com>
Subject: Re: Jak wykryć przeniesienie przy dodawaniu
 /odejmowaniu ?
From: bartekltg <bartekltg@gmail.com>
Injection-Date: Fri, 07 Oct 2016 14:58:12 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit