- Milyen billentyűzetet vegyek?
- HiFi műszaki szemmel - sztereó hangrendszerek
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Léghűtés topik
- Milyen processzort vegyek?
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Gaming notebook topik
- Épített vízhűtés (nem kompakt) topic
- Ismét 128 és 256 GB-os memóriaszetteket villantott a G.Skill
- BIOS frissítés
Új hozzászólás Aktív témák
-
kingabo
őstag
válasz
Szőkecica #2412 üzenetére
"Azt hittem hogy az ami előtt van egy - jel :-)"
De kell valahogy azt a '-' jelet tárolnod. Akkor próbálom visszafelé. Van a "sima" char, ami -128 és 127 közötti értéket vehet fel. Ez binárisan úgy van megvalósítva (nagy vonalakban, részletesebben kettes komplemens szám ábrázolás), hogy van 8db bited, az első bit elmegy az előjel bitnek, a maradék 7 biten pedig lehet tárolni 2^7 értéket vagyis 128-at (a pozitív oldalon azért csak 127-ig megy, mert a 128-adik érték a 0
). Ha a char elé odaírod, hogy unsigned, vagyis unsigned char ertek;, akkor előjel nélküli változót deklarálsz. Ekkor az előjelnek fenntartott bit is felhasználható értékes bitként, vagyis 2^8-an számot tudsz tárolni. Mivel mindkét esetben 8biten vagyis 1 byte-on tárolod az adatokat, ezért a sizeof ugyanazt a méretet fogja megadni. Ugyanez érvényes az pl az int-nél is, csak ott 1byte, helyett ált 4byte-on tárolod az adatokat.
Ha próbálgatni akarsz: deklarálj egy előjeles és egy előjel nélküli char-t. Az előjelesnek adj egy pozitív számot értékül, aztán kasztolással* add értékül a változót az előjel nélkülinek. Ugyanezt próbáld ki negatív számmal is, aztán szerep cserével, 127-nél nagyobb értéket adj az előjel nélkülinek és ezt a változót add értékül az előjelesnek. Ja és természetesen minden értékadás pár után írasd is ki, hogy lásd a különbségeket.
*kasztolás: egy adott típusú változót "átalakítani" másik típusúvá. (kisebb-ről nagyobbra, tehát pl: char-ról int-re megkötés nélkül lehet, de visszafelé nagy valószínűséggel adat vesztés lesz, mivel az int-be jóval nagyobb számok is beleférnek)
Pl: char elojeles = -5;
unsigned char elojelnelkuli = =(unsigned char) elojeles;Bocs ennél érthetőbben nem tudom elmagyarázni.
Ha valami kimaradt, vagy nem érthető, akkor kérdezz nyugodtan.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Milyen billentyűzetet vegyek?
- Kerékpárosok, bringások ide!
- HiFi műszaki szemmel - sztereó hangrendszerek
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Léghűtés topik
- Milyen processzort vegyek?
- Bittorrent topik
- AliExpress tapasztalatok
- laskr99: Újrakezdem a processzor és videókártya szilícium magok fotózását
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- További aktív témák...
- LG OLED55G42LW LG Gyári garancia 3 év
- HP EliteBook 840G6 ! AKCIÓ!!! a készlet erejéig!
- Kobo Aura Edition 2 (N236) 6" háttérvilágításos kijelzővel, 4 GB-os tárhellyel - jó állapotban
- HP ProBook 430 G8, 13,3" FHD IPS, I5-1135GU CPU, 16GB DDR4, 256GB SSD, WIN 11, 27% áfás számla, 1 év
- Playstation Portal - 3 hónap Bolti Garanciával
- Apple iPhone SE 32GB Kártyafüggetlen 1Év Garanciával
- BenQ PD-3200-U Monitor - Designer 4K 32"
- Honor Magic5 Lite 128GB, Kártyafüggetlen, 1 Év Garanciával
- Csere-Beszámítás! Asztali számítógép PC Játékra! I5 12400F / RTX 3070 / 32GB DDR4 / 500GB SSD
- Bomba ár! HP ProBook 450 G6 - i7-8GEN I 16GB I 256SSD I HDMI I 15,6" FHD I Cam I W10 I Gari!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest