Printf v hexi soustave – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Printf v hexi soustave – C / C++ – Fórum – Programujte.comPrintf v hexi soustave – C / C++ – Fórum – Programujte.com

 

Keyzio0
Newbie
9. 1. 2021   #1
-
0
-

 Zdravím, proč mi nejde formátová specifikace %x (chtěl bych číslo zobrazit v 16 soustavě) - zatim naprogramovane jen pro nulu

#include <stdio.h>
#include <stdlib.h>

int main() {
    char pole[3];
    short i = 0;
    
    
    
    printf("Zadejte číslo od 0 do 255:");
    
    while (i < 3) {
        switch (pole[0] = getchar()) {
            case '0' :
                printf("Zadali jste %c\n", pole[0]);
                printf("V šestnáctkové soustavě %xh\n", pole[0]); // <- nefunguje
                break;
            case '1' :
                
                break;
        }
        if (pole[0] == '0')
            break;
        ++i;
    }
    
    
    return 0;
}
Nahlásit jako SPAM
IP: 2a00:1028:96c3:199e:a9dd:403b:b9fe:1c92...–
gna
~ Anonymní uživatel
1891 příspěvků
9. 1. 2021   #2
-
+2
-
Zajímavé
Kit +

Protože nenačítáš číslo, ale znak. Znak pro číslici 0 má kód 48 dec, 30 hex.

Nahlásit jako SPAM
IP: 213.211.51.–
JerryM0
Věrný člen
9. 1. 2021   #3
-
0
-

na co se vlastně ptáš ???

https://stackoverflow.com/questions/20034297/decimal-to-hex-conversion-c-built-in-function

https://www.geeksforgeeks.org/program-decimal-hexadecimal-conversion/

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:68f1:9396:e415:5880...–
Keyzio0
Newbie
9. 1. 2021   #4
-
0
-

v ucebnici mam ze kdyz zadam v printf("%x", c);, kde c je znak, tak se jeho ordinalni cislo zobrazi v 16 soustave

Nahlásit jako SPAM
IP: 2a00:1028:96c3:199e:a9dd:403b:b9fe:1c92...–
Keyzio0
Newbie
9. 1. 2021   #5
-
0
-

#2 gna
aha dekuji, kouknu na to

Nahlásit jako SPAM
IP: 2a00:1028:96c3:199e:a9dd:403b:b9fe:1c92...–
Keyzio0
Newbie
9. 1. 2021   #6
-
0
-

#5 Keyzio
moc dekuji odectu od znaku 48

Nahlásit jako SPAM
IP: 2a00:1028:96c3:199e:a9dd:403b:b9fe:1c92...–
gna
~ Anonymní uživatel
1891 příspěvků
9. 1. 2021   #7
-
0
-

#4 Keyzio
Ordinální (pořadová) hodnota znaku je to, co jsem popsal. Jestli to je to, co chceš, tak to funguje správně.

Pokud chceš načítat (víceciferná) čísla, tak nedělej vlastní konverzi (i když se takovými low-level věcmi hodně naučíš), ale použij funkci pro načtení čísla. Třeba scanf("%d", &intpromenna).

Pokud někde opravdu potřebuješ vlastní konverzi znaku/číslice na číslo, tak neodečítej nicneříkající 48, ale zase znak '0'.

Nahlásit jako SPAM
IP: 213.211.51.–
Kit+15
Guru
9. 1. 2021   #8
-
0
-

#1 Keyzio
Mně to funguje správně. 

Zadali jste 0                                         
V šestnáctkové soustavě 30h
Nahlásit jako SPAM
IP: 37.188.153.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 130 hostů

Podobná vlákna

Printf vs. cout — založil volnaduse

Printf a SDL — založil sin_x

#define v printf? — založil Vilik

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý