Jestem zafalowany, jak przekonwertować z wartości binarnej na char w c.Konwertuj z binarnego na char w C
Na przykład, powiedzmy, że mam 01010110 i chcę wydrukować odpowiednią literę "V" z tego. Jak mam to zrobic?
Dzięki za pomoc!
Jestem zafalowany, jak przekonwertować z wartości binarnej na char w c.Konwertuj z binarnego na char w C
Na przykład, powiedzmy, że mam 01010110 i chcę wydrukować odpowiednią literę "V" z tego. Jak mam to zrobic?
Dzięki za pomoc!
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char *data = "01010110";
char c = strtol(data, 0, 2);
printf("%s = %c = %d = 0x%.2X\n", data, c, c, c);
return(0);
}
wyjścia:
01010110 = V = 86 = 0x56
Referencje:
strtol()
można użyć do analizowania liczba na ciągu. Ostatni argument (w tym przypadku 2) jest podstawą do konwersji.
char c = strtol("01010110", (char **)NULL, 2);
Więcej informacji na ten temat i numer analizowania innych funkcji here.
Czy coś nieco innego:
Z binarnym, to matematycznie obliczony int i po prostu lanego int na char.
int i;
char c = (char)i;
Ostateczne nawrócenie jest oczywiste; "machając ręką" z binarnego, matematycznie obliczyłem int "nie zawiera żadnych użytecznych informacji. –
Co masz na myśli mówiąc "1010110"? Numer binarny w rejestrze, znaki 1/0, co? (Jeśli jest to wartość binarna, wystarczy rzutowanie '(char)'). –
Pokaż nam kod !! W przeciwnym razie zgadujemy. – abelenky