Article View: pl.comp.lang.asm
Article #843Re: Operacje ze znakiem i bez znaku
From: Bernard
Date: Sat, 18 Nov 2006 09:50
Date: Sat, 18 Nov 2006 09:50
24 lines
2329 bytes
2329 bytes
Bogdan (bogdro) wrote: > Johnny napisał(a): >> Rozumiem ideę związaną ze sprawdzaniem danych wejściowych - to jest dla >> mnie jasne. Chodzi mi o praktykę w sytuacji gdy użytkownik ma prawo >> wprowadzić albo ujemną liczbę albo dodatnią. Tego nie wiemy. Jaka jest >> praktyka? Czy: >> - sprawdza się występowanie znaku minus i skacze do operacji >> przeznaczonych dla liczb ujemnych/ dodatnich > > Tak chyba będzie lepiej. W czasie wczytywania liczb należy jednak > przy okazji zadbać, by nie wykroczyły z określonego przedziału (tzn. > aby nie można było wpisać więcej niż 127 czy mniej niż -128 dla bajtu). No tu Kolega przegiął. Albo zakładamy, że dane mogą mieć znak i piszemy program tak, żeby przetwarzał poprawnie lizby ze znakiem, albo zakładamy, że liczby są nieujemne i piszemy program dla nieujemnych. Sprawdzanie i rozgałęzianie to pomysł na poziomie programisty - przedszkolaka. Odnoszę wrażenie, że Autor wątku nie wyczuwa, że operacje dla liczb ze znakiem działają tak samo dobrze dla liczb dodatnich i ujemnych. Rónica pomiędzy operacjami "ze znakiem" i "bez znaku" polega na interpretacji takich wartości, które mają najbardziej znaczący bit równy 1 (odpowiednio jako ujemnych i bardzo dużych dodatnich).
Technical Details
Message-ID:
<455ec82b$0$17966$f69f905@mamut2.aster.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.astercity.net!news.aster.pl!not-for-mailReferences:
<ejjrdm$987$1@atlantis.news.tpi.pl> <ejjstf$evq$1@atlantis.news.tpi.pl> <ejk3fm$eaq$1@atlantis.news.tpi.pl> <1163769262.940587.315650@m73g2000cwd.googlegroups.com> <ejkglg$99b$1@atlantis.news.tpi.pl> <ejkhm4$dat$1@atlantis.news.tpi.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.astercity.net!news.aster.pl!not-for-mail Date: Sat, 18 Nov 2006 10:50:19 +0100 From: Bernard <bernard@earth.net> User-Agent: Thunderbird 1.5.0.8 (Windows/20061025) MIME-Version: 1.0 Newsgroups: pl.comp.lang.asm Subject: Re: Operacje ze znakiem i bez znaku References: <ejjrdm$987$1@atlantis.news.tpi.pl> <ejjstf$evq$1@atlantis.news.tpi.pl> <ejk3fm$eaq$1@atlantis.news.tpi.pl> <1163769262.940587.315650@m73g2000cwd.googlegroups.com> <ejkglg$99b$1@atlantis.news.tpi.pl> <ejkhm4$dat$1@atlantis.news.tpi.pl> In-Reply-To: <ejkhm4$dat$1@atlantis.news.tpi.pl> X-Antivirus: avast! (VPS 0649-0, 2006-11-15), Outbound message X-Antivirus-Status: Clean Lines: 25 Message-ID: <455ec82b$0$17966$f69f905@mamut2.aster.pl> NNTP-Posting-Date: 18 Nov 2006 08:45:31 GMT NNTP-Posting-Host: 82.210.165.187 X-Trace: 1163839531 mamut2.aster.pl 17966 82.210.165.187:1274 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit