logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Konwersja uint16_t do char bez bibliotek C - jak to zrobić najprościej?

dasej 30 Cze 2017 19:34 996 6
REKLAMA
  • #1 16561273
    dasej
    Poziom 32  
    Witam.

    Szukam zastępstwa dla
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    bez bibliotek.

    Myślałem o wydzielaniu reszty z dzielenia, ale może istnieje jakiś lepszy sposób.
    Chcę zamieniać liczbę rzeczywistą ( 16bit ) na tekst i nic więcej.
    Najbardziej zależy mi na tym by binarnie ta procedura zajmowała jak najmniej miejsca.
  • REKLAMA
  • REKLAMA
  • REKLAMA
  • #4 16561342
    Konto nie istnieje
    Konto nie istnieje  
  • #5 16561375
    grko
    Poziom 33  
    R-MIK napisał:
    Nie sprawdzałem czy czasem nie zajmuje więcej miejsca niz np sprintf, ale zrobiłem to na potrzeby funkcji wyświetlającej np przecinek a nie kropkę jako separator i separatory tysięcy w postaci znaku "'"


    Czy nie dało się tego zrobić za pomocą sprintf? Bo naprawdę wynalazłeś tu koło na nowo. Zresztą troche kwadratowe:)

    Wracając do tematu to modyfikacja itoa (usunięcie parametru base i kodu z nim związanego), najlepiej z avr-libc, będzie rozsądnym rozwiązaniem.
  • REKLAMA
  • #6 16561406
    Konto nie istnieje
    Konto nie istnieje  
  • #7 16561413
    dasej
    Poziom 32  
    @szwagros

    Pusty projekt z tą biblioteką zajmował 450 bajtów.

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod



    Usunąłem z niej analizę znaków ujemnych i konwersję do hex.
    Ten sam pusty projekt zajmuje teraz 260 bajtów.
REKLAMA