prevod cisel ze soustav =]
13 příspěvků
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
hi lidi, existuje v php nejaka funkce na prevod cisel treba z desitkove do dvojkove, ctyrkove, sesnactkove apod. ? pripadne nejaky napad jak to vyresit pres php =] moc diky
-
php manual -> kapitola mathematical functions, tam to musi najite najit i vy pane redaktore ... receno slovy byvaleho premiera, budiz mu vysocina lehka ;-)
-
*_*
-
hehe diik du na manual
-
Jinak do setnactkove je prevod snadny.. napr: 123 bude: 7B protoze: 0123456789ABCDEF (a 123 deleno 16 je 7 a zbytek 11) aneb: . . . . . . . 7. . . B. . . . do dvojkove je to deleno 2 - kdyz je zbytek 1 tak je jedna kdyz 0 tak 0 delis dokud to jde. Osmickova... sakra tudle nevim.. vite to nekdo ?? ted me to napadlo :(
-
Na std. soustavy je nejjednodussi pouzit ty vestaveny funkce PHP ... pokud by byl potreba obecny prevod a nekdo by se stim chtel psat ... tak samozrejme nejlip podle definice :) ... cislo s ciframa: ... C4 C3 C2 C1 C0 ... o zakladu Z vstup: $cislo = suma( Cm*Z^n , n=0..(pocet cifer-1) ) vystup: postupne delit $cislo modulo zakladem a zbytek po deleni je vystupni cifra dokud $cislo nebude 0 Pro soustavy vetsi nez 10 ... if ($cifra>9) $cifra = chr(($cifra-10) + acs('A')) Nic jednodussiho :o))) ... kdyby nekdo uz napsal takovou funkci, necht ji se pastne :) ... taky by se mi hodila :) Radek
-
Teda, tak hluboko do matematiky jsem se jaksi jěště nepropracoval...:o).
-
> Nic jednodussiho :o))) ... kdyby nekdo uz napsal takovou funkci, necht ji se > pastne :) ... taky by se mi hodila :) ze by kolektivni slepota ? rikam, ze to je v php vestavene (cimz nemam nic proti trenovani si algoritmu kdyz to nekdo potrebuje ;-) base_convert (PHP 3>= 3.0.6, PHP 4 ) base_convert -- Convert a number between arbitrary bases Description string base_convert ( string number, int frombase, int tobase)
-
> ze by kolektivni slepota ? Asi jo :) ... ale hledal jsem ji :))) Radek
-
Tuhletu pro prevod do HEX jsem delal uz kdysi davno: $hex = array("0","1","2","3","4","5","6","7","8","9", "A","B","C","D","E","F"); function DecToHex($cislo) { global $hex; $n = count($hex); $sx = ''; $sx .= $hex[$cislo/$n]; $sx .= $hex[$cislo-((floor($cislo/$n))*$n)]; return $sx; } function HexToDec($cislo) { global $hex; $i = 0; while ($cislo[0] != $hex[$i]) $i++; $vc = $i*16; $i = 0; while ($cislo[1] != $hex[$i]) $i++; return $vc+$i; } je pomerne jednoducha... co ale nevim je, jak se do HEX. s. prevadi cislo vetsi nez 255 ????? doufam ze to nekdo vite
-
Mno nic, vysvětlí mi někdo základní logiku převádění na hex čísla?
-
Master wrote: > co ale nevim je, jak se do HEX. s. prevadi cislo vetsi nez 255 ????? > doufam ze to nekdo vite Lukasik wrote: > Mno nic, vysvětlí mi někdo základní logiku převádění na hex čísla? nejak tak bych to delal, berte to jako nacrt algoritmu, asi tam budou nejake chyby $hex = array("0","1","2","3","4","5","6","7","8","9", "A","B","C","D","E","F"); function DecToHex($cislo) { global $hex; $sx = ''; while ($cislo > 15) { $sx = $hex[($cislo % 16)].$sx; $cislo = floor($cislo/16); } $sx = $hex[$cislo]; return $sx; }
-
Hmm, to bude ono :) dik Miro. To Lukasik: popisoval jsem to tady nahore.. tak si to precti