gabaman

Hozzászólások

10 bejegyzés megtekintése - 351-360 / 2,173
  • Szerző
    Bejegyzés
  • 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.

      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.

        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.

          gabaman
          Felhasználó

            „Nem tud a php számolni ?”

            „Sőt, ha a nyilvánvalóan integer típusba sorolható rész-eredményeket
            settype() -al integer típusúvá „erőltetem” akkor szintén
            értelmetlen eredmény lesz.”

            Felesleges erőlködés helyett mért nem használod az erre a célra készült floor() vagy round() hívásokat?

            gabaman
            Felhasználó

              „Nem tud a php számolni ?”

              „Sőt, ha a nyilvánvalóan integer típusba sorolható rész-eredményeket
              settype() -al integer típusúvá „erőltetem” akkor szintén
              értelmetlen eredmény lesz.”

              Felesleges erőlködés helyett mért nem használod az erre a célra készült floor() vagy round() hívásokat?

              gabaman
              Felhasználó

                „a józan ész és az elemi iskola matematika szabályai alapján 0,
                azaz nullának kell(ene) lennie. PHP-ban ez nem így történt”

                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.

                $kor % 10 : 9 => egész típus
                ($kor % 10)/10 : 0.9 => lebegőpontos típus

                Mivel a PHP automatikusan választja ki az éppen használatos típust. Vedd hozzá még azt a  tényt, hogy a számítógép nem tízes, hanem kettes számrendszerben dolgozik, és már meg is kaptad hogy természetesen nem nulla a végeredmény.

                Mellesleg ez miért nem jó?

                Code:
                if ($kor < 20) {
                   $korhatar = 0;
                }
                else {
                   $korhatar = 1;
                }
                gabaman
                Felhasználó

                  „a józan ész és az elemi iskola matematika szabályai alapján 0,
                  azaz nullának kell(ene) lennie. PHP-ban ez nem így történt”

                  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.

                  $kor % 10 : 9 => egész típus
                  ($kor % 10)/10 : 0.9 => lebegőpontos típus

                  Mivel a PHP automatikusan választja ki az éppen használatos típust. Vedd hozzá még azt a  tényt, hogy a számítógép nem tízes, hanem kettes számrendszerben dolgozik, és már meg is kaptad hogy természetesen nem nulla a végeredmény.

                  Mellesleg ez miért nem jó?

                  Code:
                  if ($kor < 20) {
                     $korhatar = 0;
                  }
                  else {
                     $korhatar = 1;
                  }
                  Hozzászólás: Szegmens hiba – de miért? #2164588
                  gabaman
                  Felhasználó

                    Lehet, de nem a man-ból vagy info-ból szedtem ki. Viszont tényleg nem árt a man oldalak olvasgatása. Bárcsak mindenkinek ennyire egyértelmű lenne.

                    Hozzászólás: Szegmens hiba – de miért? #2164589
                    gabaman
                    Felhasználó

                      Lehet, de nem a man-ból vagy info-ból szedtem ki. Viszont tényleg nem árt a man oldalak olvasgatása. Bárcsak mindenkinek ennyire egyértelmű lenne.

                      Hozzászólás: Szegmens hiba – de miért? #2164584
                      gabaman
                      Felhasználó

                        Ha már megemlítetted a sebességet, akkor legyen már gyors is:

                        Code:
                        const char *nc_filetype ( struct stat *st ) {
                            switch ( st->st_mode & S_IFMT ) {
                              case S_IFDIR:
                                return „könyvtár”;
                              case S_IFCHR:
                                return „karakter eszköz”;
                              case S_IFBLK:
                                return „blokkeszköz”;
                              case S_IFREG:
                                return „szabályos”;
                              case S_IFIFO:
                                return „fifo”;
                              case S_IFLNK:
                                return „link”;
                              case S_IFSOCK:
                                return „socket”;
                              default:
                                break;
                            }
                            return „pass”;
                        }
                      10 bejegyzés megtekintése - 351-360 / 2,173