Funkcja zaokragajaca wartosc??
Widzisz wersję archiwalną tematu "Funkcja zaokragajaca wartosc??" z forum pl.comp.lang.c
tricky - 24 Gru 2001, 10:27
Jaka jest funcja zaokraglajaca wartosc np 0,999999 na 1 a 0,44444 na 0
Adam 'aimsoft' Michalski - 24 Gru 2001, 10:54
Jaka jest funcja zaokraglajaca wartosc np 0,999999 na 1 a 0,44444 na 0
'Raf256' Rafal Maj - 24 Gru 2001, 11:25
Jaka jest funcja zaokraglajaca wartosc np 0,999999 na 1 a 0,44444 na 0
(int)(x+0.5)
Irek "GPz" Zielinski - 24 Gru 2001, 16:20
(int)(x+0.5) dla x dodatniego -0.5 dla ujemnego :)
Pozdro ! Irek
------------- home page: http://www.geocities.com/irekz
motorcycle: Kawasaki GPz 500S member of Amateur NETWORK - PSS NET -http://www.pss.z.pl
'Raf256' Rafal Maj - 24 Gru 2001, 18:02
(int)(x+0.5) dla x dodatniego -0.5 dla ujemnego :)
template <class typ long long int RoundLL(typ x) { if (l0) return (long long int)(x+0.5); else return (long long int)(x-0.5);
}
oraz analogicznie dla zwykłego int (bez long long)
gruesome [Artur Siekielski] - 25 Gru 2001, 16:24
wtorek, 25 gru, 'Raf256' Rafal Maj:
| (int)(x+0.5) dla x dodatniego -0.5 dla ujemnego :) template <class typ long long int RoundLL(typ x) { if (l0) return (long long int)(x+0.5); else return (long long int)(x-0.5); } oraz analogicznie dla zwykłego int (bez long long)
Dlaczego przyjmujesz explicit, że wartością zwracaną ma być long long? Ogólnie lepiej użyć funkcji z <cmathtakich jak std::abs czy std::llabs. Wykorzystanie tutaj szablonu jest IMHO niezbyt logiczne - ten sposób zaokrąglania ma sens w zasadzie wyłącznie dla typów wbudowanych - lepiej więc
Marek "Baczek" Baczyński - 26 Gru 2001, 13:01
'Raf256' Rafal Maj wyprodukowaÂł[ao]?:
| (int)(x+0.5) dla x dodatniego -0.5 dla ujemnego :) template <class typ long long int RoundLL(typ x) { if (l0) return (long long int)(x+0.5); else return (long long int)(x-0.5); }
A nie proÂściej i lepiej:
/* ANSI C */ #include <math.h int round(double foo) {return (int)floor(foo+0.5);} // ISO C++ #include <cmath inline int round(double foo) {return (int)std::floor(foo+0.5);}
Pozdrawiam, Baczek
'Raf256' Rafal Maj - 26 Gru 2001, 19:43
'Raf256' Rafal Maj wyprodukował[ao]?: | template <class typ | long long int RoundLL(typ x) { | if (l0) return (long long int)(x+0.5); | else return (long long int)(x-0.5); } A nie prościej i lepiej: /* ANSI C */ #include <math.h int round(double foo) {return (int)floor(foo+0.5);} // ISO C++ #include <cmath inline int round(double foo) {return (int)std::floor(foo+0.5);}
pościej ale gorzej, bo : long long double d = 10.49999999999999999999999 /* ... */ ; round(d);
Marcin 'Qrczak' Kowalczyk - 27 Gru 2001, 07:13
pościej ale gorzej, bo : long long double d = 10.49999999999999999999999 /* ... */ ; round(d);
Nie gorzej. Nie da się stwierdzić, czy to było 10.4999... czy 10.5000... (dla wystarczająco dużej liczby 9 i 0). Obie liczby mają taką samą najbliższą reprezentację w typie double.
Adam 'aimsoft' Michalski - 28 Gru 2001, 13:12
| pościej ale gorzej, bo : | long long double d = 10.49999999999999999999999 /* ... */ ; | round(d);
Nie gorzej. Nie da się stwierdzić, czy to było 10.4999... czy 10.5000... (dla wystarczająco dużej liczby 9 i 0). Obie liczby mają taką samą najbliższą reprezentację w typie double.
Fakt.
BTW. C/C++ naprawdę nie nadaje się do zastosowań numerycznych...
gruesome [Artur Siekielski] - 29 Gru 2001, 02:52
piątek, 28 gru, Adam 'aimsoft' Michalski:
| pościej ale gorzej, bo : | long long double d = 10.49999999999999999999999 /* ... */ ; | round(d); | Nie gorzej. Nie da się stwierdzić, czy to było 10.4999... | czy 10.5000... (dla wystarczająco dużej liczby 9 i 0). | Obie liczby mają taką samą najbliższą reprezentację w typie double. Fakt. BTW. C/C++ naprawdę nie nadaje się do zastosowań numerycznych...
Sądzisz, że to, o czym mowa powyżej, dotyczy tylko C++?
C++: automatyczna konwersja t., funkcje konwersji
Problemy z funkcja 'strcat'
Ochrona przed wywolaniem nieistniejacych funkcji w starych DLL-ach
Wymiana danych pomiedzy socket`ami ( funkcja RECV() i SEND()) - pilne :(
hannah nydahl sick0D0A 5
chce kupic passata b4
przepisow na przetwory
mrozic;rybe;po;grecku
klisze kodak i fuji
realspeak do pobrania
encomium emmae reginae
szablon do winietek
naczynia polaczone w szambie
Kolekcja tematów z for internetowych ^^ Strona Główna
|
|