![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 366 Pomógł: 0 Dołączył: 2.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Hej,
pisze do Was w sprawie niedzialajcego poprawnie modulo. Dziwne rzeczy spotykalam juz w php, zdaje sobie sprawe ze ten jezyk jest po prostu glupi, ale nie sadzilam ze moze zle robic modulo? A moze trzeba cos magicznego ustawic w php.ini aby zwracal mi poprawne? Otoz wynik var_dump((8.5%2)); Daje mi 0. Jak to mozliwe-nie mam pojecia, ale jak mowie-wiele idiotyzmow widzialam juz w phpie.. czy ktos z Was bylby w stanie mi to wytlumaczyc? Ewentualnie co powinnam zrobic aby ta skomplikowana operacja w php zwracala mi wynik jak w kazdym normalnym jezyku? pzdr, misty |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat . Dziwne rzeczy spotykalam juz w php, zdaje sobie sprawe ze ten jezyk jest po prostu glupi, To że nie umiesz się nim posługiwać, nie znaczy że jest głupi.Co do problemu: a jakiego wyniku się spodziewałaś? |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 366 Pomógł: 0 Dołączył: 2.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
jezyk sprowadzajacy wszystko do stringa nie moze byc madry.
A spodziewam sie wyniku 0,5 - przeciez to jest wynik reszty z dzielenia 8.5/2 .. |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Trochę podstaw z matematyki:
Dzielenie modulo robi sie tylko i wyłącznie na liczbach całkowitych. Wynikiem dzielenia modulo jest zawsze liczba całkowita. Idąc Twoim tokiem rozumowania, matematyka też jest głupia (IMG:style_emoticons/default/wink.gif)
Powód edycji: [nospor]: dopisałem modulo do dzielenia bo mi się zjadło :)
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 366 Pomógł: 0 Dołączył: 2.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
ps.
wlasciwie to nie Stringa, tylko ciagu znakow alfanumerycznych. bo String to obiekt. lool, to chyba innej matmy sie uczylismy.. wynik dzialania normalnego jezyka:
jest taki sam jak w kazdym kalkulatorze.. czyli 0.5! |
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
http://www.php.net/manual/pl/language.oper....arithmetic.php
Cytat Operands of modulus are converted to integers (by stripping the decimal part) before processing. Cytat jest taki sam jak w kazdym kalkulatorze.. Mam to szczęście, że nie muszę uzywać kalkulatorów (IMG:style_emoticons/default/wink.gif) ps: na moim linuksowym kalkulatorze to też jest 0.... tak wiem, linuks też jest głupi |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 186 Pomógł: 4 Dołączył: 13.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Znak modulo % działa jedynie dla liczb całkowitych, podając 8,5 traktowane jest jako 8
fmod(8.5 , 2); ahh i jeszcze jedno ( przykład z mauala )
PS: Głupio to ty podpisałaś temat nie czytając dla jakich liczb działa % Cytat Wynikiem dzielenie jest zawsze liczba całkowita. Trochę pojechałeś Ciekawe jak byś wytłumaczył dwóm dzieciom, że masz 5 batonów, ale jednego musisz oddać bo nie masz go jak podzielić. Ten post edytował Micchaleq 8.12.2011, 09:09:42 |
|
|
![]()
Post
#8
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Trochę pojechałeś Być może. Moja wiedza na temat modulo skończyła się na etapie liczb całkowitych.Jestem jednak na tyle bystry by zaglądać do manuala i czytać co napisane tam jest przy funkcjach, ktore używam i nie latam po forach i nie psioczę na "głupie" php tylko dlatego, że nie umiem go używać (IMG:style_emoticons/default/wink.gif) Cytat Ciekawe jak byś wytłumaczył dwóm dzieciom, że masz 5 batonów, ale jednego musisz oddać bo nie masz go jak podzielić. yyy, mylisz teraz dzielenie z modulo. Dzielić umiem5/2 = 2.5 Każde dziecko dostanie 2.5 batona. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 186 Pomógł: 4 Dołączył: 13.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Idąc waszym tokiem myślenia każdy język jest głupi. Ja tak kiedyś stwierdziłem o c jak chciałem zwrócić wynik z dodawania 2 kompletnie innych zmiennych.
Moim zdaniem to nie języki są głupie tylko ludzie którzy nie potrafią z nich korzystać. W każdym z języków są jakieś błędy a mądrością powinna być wiedza o nich i umiejętność ich omijania bądź naprawiania. Zresztą skoro php jest głupie to szkoda ze 90% stron internetowych jest dzięki niemy napisana, ale w zasadzie lepiej jak były by w samym html-u istotnie mądry język statyczne strony bez awarii i praca dla ludzi chcący podmieniać treści. |
|
|
![]()
Post
#10
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Moim zdaniem to nie języki są głupie tylko ludzie którzy nie potrafią z nich korzystać. To samo napisałem w pierwszym poście. Ino bez wyzywania ludzi od głupich (IMG:style_emoticons/default/wink.gif) Cytat Ciekawe jak byś wytłumaczył dwóm dzieciom, że masz 5 batonów, ale jednego musisz oddać bo nie masz go jak podzielić. Już wiem, czemu pomyślałeś, że piszę głupoty.Napisałem: Wynikiem dzielenia jest liczba całkowita. MIałem oczywiście na myśli dzielenie modulo. Przecież o tym pisałem (IMG:style_emoticons/default/smile.gif) Już poprawiłem by nie było wątpliwości o jakim dzieleniu mówilem Wydzielilem posty do OFF. Tam sie klocic. Każdy kolejny post o głupim php poleci wraz z ostrzezeniem |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
A ja się odniosę jedynie do tego, że podobno w innych językach działa to prawidłowo, a w pechapie już nie: http://pl.wikipedia.org/wiki/Modulo a dokładnie ten kawałek:
Cytat Są różne sposoby określania reszty, a komputery i kalkulatory mają różne sposoby przechowywania i reprezentowania liczb, więc to co dokładnie jest wynikiem operacji modulo zależy od języka programowania i/lub sprzętu. Po lewej stronie na wikipedi jest tabelka która pokazuje w jakich językach programowania co zwraca modulo. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 14:42 |