Jacek Konieczny wrote: > On Mon, Apr 24, 2006 at 01:09:56PM +0200, Andrzej Krzysztofowicz wrote: > > Heh. Masz wczytac dwie liczby N-bitowe ze znakiem, ktorych iloczyn tez > > bedzie liczba N-bitowa. Jaki nalozysz warunek, aby nie dopuscic do > > przepelnienia? N w danym kontekscie wynosi 8*sizeof(dana). > > dana moze byc dowolnego typu... > > Będę unikał takiej sytuacji i o ile to możliwe wykonywał działanie > z wynikiem N*2 bitowym. Wtedy łatwo sprawdzić, czy się wynik w N bitach > mieści. > > > > #include <limits.h> > > > > > > ...i użycie *_MIN i *_MAX mnie się wydaje najbardziej sensownym i > > > oczywistym rozwiązaniem. > > > > Jasne. Jakiego *_MAX/*_MIN uzyjesz w definicji makra, ktore ma dzialac dla > > danych dowolnego typu ? > > A co to, metaprogramowanie w C? Jakoś nie widzę miejsca na takie makro > w eleganckim kodzie.
Kto twierdzi, ze kod ktory przyjdzie poprawiac jest elegancki? Po prostu sie zastanawiam, co zrobic, zeby cos takiego zmusic do dzialania, jak przyjdzie sie z tym zmagac. Na pewno gdzies widzialem takie kwiatki majace za zadanie uczynienie programu "bardziej przenosnym" (niezaleznym od OS, kompilatora, architektury, wprowadzanych danych itp.) > Poza tym, teraz kompilator generował kod który to przepełnienie jakoś > sprawdzał. To samo zapewne można zapisać w C, w tych kilku przypadkach, > w których to komuś jest rzeczywiście potrzebne. Ja się cieszę, że > kompilator nie będzie już generował niepotrzebnego (z punktu widzenia > mojego programu) kodu. > > A cała dyskusja już trochę off-topic schodzi... Troche tak. -- ======================================================================= Andrzej M. Krzysztofowicz [EMAIL PROTECTED] phone (48)(58) 347 14 61 Faculty of Applied Phys. & Math., Gdansk University of Technology _______________________________________________ pld-devel-pl mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl
