prekonvertovanie uint8_t na char

C,C++,C#

Moderátori: psichac, Moderátori

nomat
Okoloidúci
Okoloidúci
Príspevky: 21
Dátum registrácie: 17 Apr 2013, 15:47

prekonvertovanie uint8_t na char

Príspevok od používateľa nomat » 25 Nov 2016, 16:41

caute,
neviete mi poradiť ako mám prekonvertovať hodnotu typu uint8_t na char? resp. ideálne na int. Ale char na int viem pomocou atoi.

diky :)
0

Sender
Pokročilý člen
Pokročilý člen
Príspevky: 535
Dátum registrácie: 26 Máj 2008, 00:00

Re: prekonvertovanie uint8_t na char

Príspevok od používateľa Sender » 25 Nov 2016, 17:00

T je pro AVR studio ?
Co je cílem ?
0

nomat
Okoloidúci
Okoloidúci
Príspevky: 21
Dátum registrácie: 17 Apr 2013, 15:47

Re: prekonvertovanie uint8_t na char

Príspevok od používateľa nomat » 25 Nov 2016, 17:04

nie pre Keil, programujem STM32F4 - AVR, a potrebujem zo seriovky previesť hodnotu do int. data ktore prichadzaju zo seriovky sú typu uint8_t
0

Sender
Pokročilý člen
Pokročilý člen
Príspevky: 535
Dátum registrácie: 26 Máj 2008, 00:00

Re: prekonvertovanie uint8_t na char

Príspevok od používateľa Sender » 25 Nov 2016, 17:07

Jak je ten uint8_t deklarovanej ? Není to náhodou unsigned int ?
0

martin63
Ultimate člen
Ultimate člen
Príspevky: 1738
Dátum registrácie: 11 Máj 2008, 00:00
Bydlisko: Námestovo
Vek: 34

Re: prekonvertovanie uint8_t na char

Príspevok od používateľa martin63 » 25 Nov 2016, 17:46

nie, je to unsigned char
0

peterple
Ultimate člen
Ultimate člen
Príspevky: 2328
Dátum registrácie: 25 Jún 2013, 21:06
Bydlisko: Krajné
Vek: 57
Kontaktovať používateľa:

Re: prekonvertovanie uint8_t na char

Príspevok od používateľa peterple » 25 Nov 2016, 19:31

Pokiaľ nebudeš rozumieť a správne používať základné pojmy asi ti nikto neporadí, lebo:
  1. prekonvertovať uint8_t na char je viac menej zbytočné. Lebo uint8_t je unsigned char a konverzia na char nie je nijako potrebná. iba sa v jednom prípade číslo považuje v rozsahu 0 - 255 a v druhom -128 až 127. Premenná v oboch prípadoch zaberá jeden byte.
  2. čo je to sériovka? taký datový typ C nepozná. To je pravdepodobne kus hw. Data ktoré prichádzajú zo sériového kanála sú práve char (alebo unsigned char).
  3. atoi neprevádza char na int, ale reťazec ASCII znakov na int. https://www.tutorialspoint.com/c_standa ... n_atoi.htm
    The C library function int atoi(const char *str) converts the string argument str to an integer (type int).
    Tá hviezdička v type dosť zásadne mení situáciu.
  4. Na základe tejto chybnej predstavy si položil úplne nelogickú otázku
A áno, je to naozaj smiešne. Dosť si ma touto otázkou pobavil.
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.

Používateľov profilový obrázok
Mishung
Stály člen
Stály člen
Príspevky: 494
Dátum registrácie: 01 Dec 2009, 00:00
Bydlisko: Praha
Vek: 32

Re: prekonvertovanie uint8_t na char

Príspevok od používateľa Mishung » 03 Mar 2017, 08:31

V pripade ze chces naozaj len (char) a nie (char*):

Kód: Vybrať všetko

uint8_t cislo=4;
char znak;

znak=(char)(cislo+48);
Ak by si chcel retazec tak:

Kód: Vybrať všetko

uint8_t cislo=255;
char* retazec[3];

sprintf(retazec,"%d",cislo);
0
They say the world is turning
But we are stuck upside down...

Napísať odpoveď