Close

převod DEC na HEX

Úvodní stránka Fórum Software Vývojová prostředí Arduino IDE převod DEC na HEX

  • Toto téma obsahuje celkem 2 odpovědi. Do diskuze (2 diskutující) se naposledy zapojil uživatel Aleš a poslední změna proběhla před 6 roky a 4 měsíci.
Aktuálně jsou na stránce zobrazeny 3 příspěvky - 1. až 3. (celkem z 3)
  • Autor
    Příspěvky
  • #5201
    Aleš
    Účastník

    Dobrý den,
    Nějak jsem se zasekl, a nemůžu na to přijít 🙁
    Potřebuju převádět velká celá DEC čísla na HEX, abych je mohl zapisovat do I2C EEPROM.
    Něco jako: 12638 bude 0x31 0x5e. Maximálně ty 2 bajty.
    Zápis do EEPROM potom umím, ale musím to převádět ručně na kalkulačce, a zadávat v HEX 🙁
    Napíše mi to někdo? 🙂
    Dík.

    #5626
    Mirda
    Účastník

    Ahoj, arduino zatim neprogramuju , ale v C by to slo vyresit i takhle:

    //slozitejsi zpusob, v jazyce C by slo vyresit i pres sprinf
    void main()
    {
    unsigned long cislo = 987654321; //cislo k prevodu, bez znamenka,
    char hex[17]=“0123456789ABCDEF“; //tabulka znaku pro prevod do hex soustavy

    char buf[5] = „0x00“; //prevedene znaky, nuly za x budou prepsany prevodem

    printf(„\n“); //odradkovani text.vystupu na obrazovku
    //prevod 32bit hodnoty v long typu zacina od nejvyssiho byte
    for(int i = 0;i<4;++i)
    {
    buf[2] = hex[(cislo & 0xf0000000)>>28]; //vyssi pulbajt
    buf[3] = hex[(cislo & 0x0f000000)>>24]; //nizsi pulbajt

    cislo<<=8; //posun o dalsich 8bitu

    printf(„%s,“,buf); //tisk hodnoty na obrazovku
    }
    getchar(); //ceka na stisk enter
    }

    #5705
    Aleš
    Účastník

    Dík, zkusím.

Aktuálně jsou na stránce zobrazeny 3 příspěvky - 1. až 3. (celkem z 3)
  • Pro reakci na toto téma se musíte přihlásit.