Ha C++-ban int8_t-ként tárolok egy számot, akkor ahhoz, hogy ne karakterként írja ki, át kell konvertálni intté, de akkor annyit fog foglalni, mint egy int?
Figyelt kérdés
2020. nov. 4. 12:15
1/7 anonim válasza:
Mivel iratod ki? Itt a kiiratassal van a probléma nem a tárolással.
2/7 anonim válasza:
Maga az int8_t típusú változó 8 bit helyet foglal (mint a signed char típusú változó is);
Az (signed short) int viszont minimum 16 bitet.
A kiírást viszont végezheted a C-ből ismert printf-fel is - az enged formázást is.
Itt egy példakód:
* [link]
bővebben:
* [link] - a fix hosszúságú egész típusról (köztük az int8_t-ről is)
* [link] - az alapvető típusok (köztük az int, illetve a char) helyfoglalásáról
* [link] - a printf-ről
* [link] - egy adott változó helyfoglalásáról
3/7 A kérdező kommentje:
Couttal ki lehet valahogy íratni számként?
2020. nov. 4. 14:50
4/7 anonim válasza:
Van rá millió megoldás:
int8_t a = -124;
std::cout << +a << std::endl;
vagy
int8_t a = -124;
std::cout << (int)a << std::endl;
5/7 A kérdező kommentje:
4: de ha az alsó példánál átkonvertálod intté, akkor annyit fog foglalni mint egy int, nem? Mert akkor ennyi erővel intként is tárolhatod.
2020. nov. 4. 19:09
6/7 anonim válasza:
Max addig amíg fut a kód azon része, ami a kiirasert felelős. De ez csak 3 bájt, ilyen esetben kb lényegtelen. Állandóan csak úgyszintén egy bajtot foglal.
7/7 anonim válasza:
írj overloadot <<-ra és akkor nem kell mindenhol kasztolni
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, 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!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!