PHP – képletszámítás, 1-1 néha nem nulla ?

Kezdőlap Fórumok Programozás PHP – képletszámítás, 1-1 néha nem nulla ?

10 bejegyzés megtekintése - 11-20 / 29
  • Szerző
    Bejegyzés
  • #2168211
    kisbetu
    Felhasználó
      Pingus wrote:
      Csak azért érdekes, mivel a kivonás előtt ha kiiratom akkor 1 lesz az eredmény,
      ami helyes. Ha ebből levon 1  -et már elrontja, mi közben 1-1 -re helyesen 0-t ír.
      Minden esere több mint érdekes 🙂

      Csak azért, mert ilyen mezítlábas „programnyelvet” használsz.
      Igazi nyelvben, ahol a változók típusával neked kell tisztában lenned, látnád a különbséget.

      A különbséget a vágyaid és a valóság között.
      De hát a számítógéphez mindenki ért…

      #2168212
      kisbetu
      Felhasználó
        Pingus wrote:
        Csak azért érdekes, mivel a kivonás előtt ha kiiratom akkor 1 lesz az eredmény,
        ami helyes. Ha ebből levon 1  -et már elrontja, mi közben 1-1 -re helyesen 0-t ír.
        Minden esere több mint érdekes 🙂

        Csak azért, mert ilyen mezítlábas „programnyelvet” használsz.
        Igazi nyelvben, ahol a változók típusával neked kell tisztában lenned, látnád a különbséget.

        A különbséget a vágyaid és a valóság között.
        De hát a számítógéphez mindenki ért…

        #2168213
        gabaman
        Felhasználó

          Hogy mi a -1.1102230246252E-16? Egyszerű, sem a 0.9 sem az 1.9 nem írható le véges bináris tizedestört alakban, ez a szám a két átváltási hiba különbsége. Mellesleg a tízes-bináris átváltás középiskolai tananyag.

          „Csak azért érdekes, mivel a kivonás előtt ha kiiratom akkor 1 lesz az eredmény,
          ami helyes. Ha ebből levon 1  -et már elrontja, mi közben egy szimpla 1-1 -re helyesen 0-t ír.
          Minden esetre több mint érdekes”

          Akkor rosszul írja ki azt az egyest, helyesen 0.99999999999999988898769753748 az eredmény. Ha ebből kivonsz még egyet, akkor kapod a -0.00000000000000011102230246252 értéket.

          #2168214
          gabaman
          Felhasználó

            Hogy mi a -1.1102230246252E-16? Egyszerű, sem a 0.9 sem az 1.9 nem írható le véges bináris tizedestört alakban, ez a szám a két átváltási hiba különbsége. Mellesleg a tízes-bináris átváltás középiskolai tananyag.

            „Csak azért érdekes, mivel a kivonás előtt ha kiiratom akkor 1 lesz az eredmény,
            ami helyes. Ha ebből levon 1  -et már elrontja, mi közben egy szimpla 1-1 -re helyesen 0-t ír.
            Minden esetre több mint érdekes”

            Akkor rosszul írja ki azt az egyest, helyesen 0.99999999999999988898769753748 az eredmény. Ha ebből kivonsz még egyet, akkor kapod a -0.00000000000000011102230246252 értéket.

            #2168215
            Pingus
            Felhasználó
              gabaman wrote:
              Van ez így, amikor egy hozzá nem értő áll neki programozni. Ezt az is bizonyítja, hogy a probléma okát már fent leírtad, csak nem vetted észre hogy majdnem teljesen válaszoltál magadnak.

              Azért hiszed  illetve tűnik Neked az, hogy hozzá nem értő vagyok, mert
              (mielőtt PHP-zni kezdtem volna), régebben a PHP-hez képest egy erősen típusos
              nyelvet (Pascal) használtam. Sajnos megkell még szoknom a PHP engedékenységét,
              illetve az ebből adódó hibákat elkerülni. Bár igaz, hogy 18-20 évvel ezelőtt
              BASIC-ben is belefutottam hasonló automatikus típuskonverzió okozta hibákba,
              de azt követő jó pár évnyi Pascal-ozás elkényesztetett e téren. 😀
              Nyilván Pascal-ban a megfelelő típusú változók definiálása és a szükséges
              típuskonverziók miatt nem fordulna elő ehhez hasonló.

              #2168216
              Pingus
              Felhasználó
                gabaman wrote:
                Van ez így, amikor egy hozzá nem értő áll neki programozni. Ezt az is bizonyítja, hogy a probléma okát már fent leírtad, csak nem vetted észre hogy majdnem teljesen válaszoltál magadnak.

                Azért hiszed  illetve tűnik Neked az, hogy hozzá nem értő vagyok, mert
                (mielőtt PHP-zni kezdtem volna), régebben a PHP-hez képest egy erősen típusos
                nyelvet (Pascal) használtam. Sajnos megkell még szoknom a PHP engedékenységét,
                illetve az ebből adódó hibákat elkerülni. Bár igaz, hogy 18-20 évvel ezelőtt
                BASIC-ben is belefutottam hasonló automatikus típuskonverzió okozta hibákba,
                de azt követő jó pár évnyi Pascal-ozás elkényesztetett e téren. 😀
                Nyilván Pascal-ban a megfelelő típusú változók definiálása és a szükséges
                típuskonverziók miatt nem fordulna elő ehhez hasonló.

                #2168217
                gabaman
                Felhasználó

                  „Azért hiszed  illetve tűnik Neked az, hogy hozzá nem értő vagyok, mert
                  (mielőtt PHP-zni kezdtem volna), régebben a PHP-hez képest egy erősen típusos
                  nyelvet (Pascal) használtam.”

                  Rosszul ítéltelek meg, én csak assembly, C/C++, Java, PHP, Python és C# nyelvekhez értek, a Pascal tudásod mellet ezek eltörpülnek. A BASIC-et ne is említsem. Biztosan én tévedek és a PHP nem működik megfelelően.

                  #2168218
                  gabaman
                  Felhasználó

                    „Azért hiszed  illetve tűnik Neked az, hogy hozzá nem értő vagyok, mert
                    (mielőtt PHP-zni kezdtem volna), régebben a PHP-hez képest egy erősen típusos
                    nyelvet (Pascal) használtam.”

                    Rosszul ítéltelek meg, én csak assembly, C/C++, Java, PHP, Python és C# nyelvekhez értek, a Pascal tudásod mellet ezek eltörpülnek. A BASIC-et ne is említsem. Biztosan én tévedek és a PHP nem működik megfelelően.

                    #2168219
                    Pingus
                    Felhasználó
                      gabaman wrote:
                      „Azért hiszed  illetve tűnik Neked az, hogy hozzá nem értő vagyok, mert
                      (mielőtt PHP-zni kezdtem volna), régebben a PHP-hez képest egy erősen típusos
                      nyelvet (Pascal) használtam.”

                      Rosszul ítéltelek meg, én csak assembly, C/C++, Java, PHP, Python és C# nyelvekhez értek, a Pascal tudásod mellet ezek eltörpülnek. A BASIC-et ne is említsem. Biztosan én tévedek és a PHP nem működik megfelelően.

                      Nem mondtam hogy a PHP nem jól működik. Hanem azt kérdeztem miért
                      volt a számítás hibás. A kettő között nagy a különbség.
                      Nyilván való hogy ezek után alaposabban figyelek a típus-konverziós esetekre.
                      Továbbá azt sem hiszem, hogy az én Pascal tudásom mellett eltörpülne a Te nem kevés
                      programozási nyelvismereted — legyél szíves ne személyeskedj !!
                      Hozzá tenném még az előző hozzászólásodban említett „Mellesleg a
                      tízes-bináris átváltás középiskolai tananyag.” megjegyzésedhez,
                      hogy valóban középiskolai anyag, de ettől függetlenül a főiskolai matematikai/informatikai
                      szakon ezt szintén alaposan tanították, és teljesen  még nem felejtettem el.
                      Mivel mint olvashattad eddig nem volt dolgom PHP-vel… na de hagyjuk, nem ér ez ennyit 🙂

                      #2168220
                      Pingus
                      Felhasználó
                        gabaman wrote:
                        „Azért hiszed  illetve tűnik Neked az, hogy hozzá nem értő vagyok, mert
                        (mielőtt PHP-zni kezdtem volna), régebben a PHP-hez képest egy erősen típusos
                        nyelvet (Pascal) használtam.”

                        Rosszul ítéltelek meg, én csak assembly, C/C++, Java, PHP, Python és C# nyelvekhez értek, a Pascal tudásod mellet ezek eltörpülnek. A BASIC-et ne is említsem. Biztosan én tévedek és a PHP nem működik megfelelően.

                        Nem mondtam hogy a PHP nem jól működik. Hanem azt kérdeztem miért
                        volt a számítás hibás. A kettő között nagy a különbség.
                        Nyilván való hogy ezek után alaposabban figyelek a típus-konverziós esetekre.
                        Továbbá azt sem hiszem, hogy az én Pascal tudásom mellett eltörpülne a Te nem kevés
                        programozási nyelvismereted — legyél szíves ne személyeskedj !!
                        Hozzá tenném még az előző hozzászólásodban említett „Mellesleg a
                        tízes-bináris átváltás középiskolai tananyag.” megjegyzésedhez,
                        hogy valóban középiskolai anyag, de ettől függetlenül a főiskolai matematikai/informatikai
                        szakon ezt szintén alaposan tanították, és teljesen  még nem felejtettem el.
                        Mivel mint olvashattad eddig nem volt dolgom PHP-vel… na de hagyjuk, nem ér ez ennyit 🙂

                      10 bejegyzés megtekintése - 11-20 / 29
                      • Be kell jelentkezni a hozzászóláshoz.