Strona 1 z 2
[C++] modul liczb
: 4 paź 2011, o 19:08
autor: Inkognito
Chcem zapytac, czy jest jaka funkcja w c++ zeby liczylaby modul liczb
np.: jezeli a=-5 to wyda 5, jezeli a=5 to i wyda 5;
czy cos takiego bez ifu nie uda sie zrobic?
[C++] modul liczb
: 4 paź 2011, o 19:09
autor: chlorofil
abs(...), fabs(), itp.
[C++] modul liczb
: 4 paź 2011, o 19:16
autor: Inkognito
dzieki,
jak rozumiem roznicy miedzy nimi zadnej?
[C++] modul liczb
: 4 paź 2011, o 19:31
autor: chlorofil
Jest różnica. abs() przyjmuje inta, a fabs() double'a.
[C++] modul liczb
: 4 paź 2011, o 19:59
autor: Althorion
[C++] modul liczb
: 5 paź 2011, o 02:22
autor: Xitami
funkcja abs() w języku C/C++ (bez if)
Kod: Zaznacz cały
int abs(int O00)<%return(O00<<!000)*(O00>>037)+O00/*OOO++ - 012*/ +" else return "&000;%>
a może makro
Kod: Zaznacz cały
#define ABSI(x) (((x) & ~(((int)(x))>>31)) - ((x) & (((int)(x))>>31)))
[C++] modul liczb
: 5 paź 2011, o 18:50
autor: adambak
Xitami, czemu w swoich przykładowych kodach często używasz takich dziwnych nazw zmiennych? imo jest nieczytelne i można dostać oczopląsu.. ale proszę nie zrozum mnie źle, po prostu pytam z ciekawości, czy takie nazwy są używane przez Ciebie z jakiegoś konkretnego powodu
[C++] modul liczb
: 5 paź 2011, o 19:08
autor: Xitami
pewnie, że zamiast
Kod: Zaznacz cały
int abs(int O00)<%return(O00<<!000)*(O00>>037)+O00/*OOO++ - 012*/ +" else return "&000;%>
mogłem napisać
co jest absolutnie równoważne
ale tak jest mniej zabawnie i widać, że funkcja ma wadę,
ślubuję, że tu pierwszy raz udziwniałem by ukryć wadę mojego pomysłu
makro wziąłem z książki
jeszcze jeden pomysł : sqrt(n*n)
[C++] modul liczb
: 5 paź 2011, o 20:34
autor: chlorofil
Pomysł kompletnie nietrafiony. Liczyć pierwiastek tylko po to, żeby wyznaczyć wartość bezwzględną? Widać żeś matematyk, a nie programista ;P
[C++] modul liczb
: 5 paź 2011, o 20:39
autor: adambak
Xitami tylko podał różne metody zrealizowania tego zadania (jak zwykle kilka).. myślę, że to nie stanowi podstawy do wydawania osądów czy jest matematykiem czy programistą z resztą ja go kojarzę jako właśnie dobrego programistę
[C++] modul liczb
: 5 paź 2011, o 21:04
autor: Xitami
Dziękuję Adasiu
Istnieją takie liczby których modułu nie da się policzyć bez pierwiastka.
A OP w końcu nie powiedział o jakie liczby chodzi.
[C++] modul liczb
: 5 paź 2011, o 22:02
autor: chlorofil
Xitami pisze:Istnieją takie liczby których modułu nie da się policzyć bez pierwiastka.
Np. ?
[C++] modul liczb
: 5 paź 2011, o 22:45
autor: Xitami
nie wiem jak bez pierwiastka zabrać się do zesoplonych
[C++] modul liczb
: 5 paź 2011, o 22:46
autor: Afish
Althorion pisze:Zawsze można też:
Przy czym ten kod nie zawsze zadziała
Oczywiście mam tu na myśli przypadek INT_MIN.
[C++] modul liczb
: 6 paź 2011, o 00:10
autor: chlorofil
Oczywiście. To jest słuszna uwaga. Dlatego polecam zastosowanie funkcji bibliotecznych.