Kezdőoldal » Számítástechnika » Programozás » 8 bites, előjel nélküli egész...

8 bites, előjel nélküli egész Javascriptben?

Figyelt kérdés

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?



2013. nov. 26. 21:42
1 2
 1/12 anonim ***** válasza:
Attól függ mire szeretnéd használni: bitműveletekhez?
2013. nov. 26. 22:08
Hasznos számodra ez a válasz?
 2/12 A kérdező kommentje:

"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.

2013. nov. 26. 22:34
 3/12 anonim ***** válasza:

És mi volna, ha simán rányomnál egy modulo 256-ot?


a = 255;

a = (a + 2) % 256;

2013. nov. 26. 23:28
Hasznos számodra ez a válasz?
 4/12 A kérdező kommentje:

" É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?

2013. nov. 27. 00:10
 5/12 anonim ***** válasza:
100%

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)

2013. nov. 27. 00:45
Hasznos számodra ez a válasz?
 6/12 Drone007 ***** válasza:

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.

2013. nov. 27. 06:49
Hasznos számodra ez a válasz?
 7/12 anonim ***** válasza:

"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]

2013. nov. 27. 11:30
Hasznos számodra ez a válasz?
 8/12 A kérdező kommentje:

"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...

2013. nov. 27. 12:50
 9/12 anonim ***** válasza:
2013. nov. 27. 17:36
Hasznos számodra ez a válasz?
 10/12 anonim ***** válasza:

"De csak lehet valahogy "emulálni"... ;) "


Mit lehet "emulálni"?

2013. nov. 27. 17:37
Hasznos számodra ez a válasz?
1 2

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!