2013-12-05 4 views
0

Ive видел много вопросов, размещенных об обложке строки «37878», поэтому ее можно использовать как значение int или hex. Я хотел знать, как конвертировать позволяет говорить «EOF» до 454f46, который является шестнадцатеричным эквивалентом. Помощь Plz. это находится в C++.Преобразование текста в верхний шестнадцатеричный эквивалент

ответ

1

Значение 0x454f46 при разбиении на байки 45, 4f и 46 - это только коды символов ASCII для E, O и F, представленные в шестнадцатеричной нотации.

Чтобы получить значение ASCII из полукокса в с, все, что вам нужно сделать, это

char c = 'E' 
int i = (int)c 

А теперь я буду держать значение 69 или 0x45.

Полный пример C:

#include <stdio.h> 

void convert(char *test) 
{ 
    int i =0; 

    while (test[i] != 0) 
    { 
     printf("%X",(int)test[i]); 
     ++i; 
    } 
    printf("\n"); 

} 

int main() 
{ 
    char *test="EOF"; 
    convert(test); 
} 

Который производит:

$ gcc c2hex.c 
$ ./a.out 
454F46 
Смежные вопросы