Hirdetés
- Samsung Galaxy A56 - megbízható középszerűség
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- Okosóra és okoskiegészítő topik
- Fotók, videók mobillal
- Külföldi prepaid SIM-ek itthon
- Újabb részletes képeken a Google Pixel 10a
- Méretes telekonverter az Oppo Find X9 Ultra hátán
- OnePlus 15 - van plusz energia
- Szívós, szép és kitartó az új OnePlus óra
Ú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!
- Az elmúlt 30 év legjobb processzorai
- A fociról könnyedén, egy baráti társaságban
- Elektromos autók - motorok
- Asustor NAS
- Háztartási gépek
- Milyen billentyűzetet vegyek?
- Okos Otthon / Smart Home
- Samsung Galaxy A56 - megbízható középszerűség
- Forza sorozat (Horizon/Motorsport)
- Mesterséges intelligencia topik
- További aktív témák...
- Corsair MP600 PRO XT 2TB Heatsink NVMe PCIe Gen. 4
- Samsung 27" 2K 2560x1440 monitor S27A850D PLS panel, kis hibákkal, DP porton kell használni!
- NEC 27" 2K 2560x1440 IPS monitor pici hibával PIVOT mód, HDMI, DP port
- Epson WorkForce Pro WF-C579RDWF (C11CG77401) A4-es, színes üzleti tintasugaras MFP nyomtató eladó
- iPhone 15 Pro Max Natúr Titán 256 GB
- Gamer PC-Számítógép! Csere-Beszámítás! I7 8700K / RTX 3070 / 32GB DDR4 / 1TB SSD
- Samsung QM55B 55" UHD 4K LED Signage Reklámmonitor 27% ÁFÁS
- PS4 Pro 1TB + DualShock 4 Controller Játékkonzol
- Apple iPhone 14 Pro Max 128GB, Kártyafüggetlen, 1 Év Garanciával
- Akció! HP ZBook Firefly 14 i7-1165G7 16GB 512GB Nvidia Quadro T500 4GB 14" FHD 1 év garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
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
Ha valami kimaradt, vagy nem érthető, akkor kérdezz nyugodtan. 


