8 bites, előjel nélküli egész Javascriptben?
Javascriptben - az erősen típusos nyelvekkel (C, Pascal,...) ellentétben - nincs különbség a számot tartalmazó változó típusában (egész vagy lebegőpontos) illetve méretében.
Tegyük fel, hogy mégis szükség lenne előjel nélküli, 8 bites egészre (mint C-ben az unsigned char) - ti milyen megoldást választanátok?
"Attól függ mire szeretnéd használni: bitműveletekhez?"
Akár.
Leginkább egy olyan változóra van szükségem Javascript alatt, amelyben 0 és 255 közötti - előjel nélküli, 8 bites egész - számot tudok tárolni, és a C-hez hasonlóan kezeli le a túlcsordulást.
Tehát például:
a = 255;
a = a + 2;
alert (a);
ez 1-et adna vissza.
Vagy:
a = 128;
a = a << 2;
alert (a);
ez 0-át adna vissza.
És mi volna, ha simán rányomnál egy modulo 256-ot?
a = 255;
a = (a + 2) % 256;
" És mi volna, ha simán rányomnál egy modulo 256-ot? "
Ok, az alapelv jó (még a negatív, lebegőpontos számok - Math.abs(a < 0 ? Math.ceil(a) : Math.floor(a)) - és a sztringek helyzete - parseFloat() - is csak-csak megoldható).
A fő kérdésem inkább az, hogy hogyan tudnám ezt mint egy változót kezelni?
Tehát hogy ne kelljen a változóval végzett művelet után hosszú átalakítgatásokat (modulus, Math.ceil, Math.floor, parseFloat) eszközölni, hanem mint változóként kezelném?
javascripthez ennyire nem értek, de szerintem erre való a class (asszem ott is van :P)
aztán csinálsz neki ilyen függvényeket, hogy:
bajt.add(5)
bajt.mul(3)
bajt.div(6)
stb..
és akkor nem kell átalakítgatni, csak egyszer, "túlcsordítod" a függvényben és kész
modnjuk így nézne ki hozzáadni 5-öt és megszorozni 2-vel
bajt.add(5).mul(2)
Szerintem kicsit elkényelmesedtél a C# használatában.
Tessék megtanulni, hogyan működnek más nyelvek, egy scriptnyelvtől nem várható el, hogy felvegye a versenyt egy programnyelvvel.
"az erősen típusos nyelvekkel (C, Pascal,...) ellentétben"
A c típusossága az statikus és gyenge típusos, az igaz hogy a pascal erősen típusos.
A Javascript meg dinamikus típusosságú.
Bitműveletek vannak benne is : [link]
"a C# használatában. "
Azt sosem használtam. ;)
Logo, Basic, (Object) Pascal nyelveket tanultam, C-t, Python-t, PHP-t, JS-t használok túlnyomórészt.
"Szerintem kicsit elkényelmesedtél"
Az megeshet, az utóbbi időben kevesebbet programozok, mint hálózatokat berhelek.
"A Javascript meg..."
De csak lehet valahogy "emulálni"... ;)
"de szerintem erre való a class (asszem ott is van :P) "
Aha, valami ilyesmi irányvonalon gondolkodom én is, köszi...
"De csak lehet valahogy "emulálni"... ;) "
Mit lehet "emulálni"?
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!