문자를 받아 ASCII 16 진수 값을 출력합니다.

발사믹 식초

ATMEGA 마이크로 컨트롤러에서 UART 용 직렬 함수를 (C에서) 프로그래밍하고 있으며 사용자가 단일 문자를 입력하고 ASCII 16 진수 값을 출력하도록해야합니다.

즉, 사용자가 'a'를 입력하면 출력은 '0x61'이됩니다. 나는 함수를 썼다.

putvalue(unsigned char ch),

단일 문자를 받아 화면에 표시하므로 이제 문자를 받아 ASCII 16 진수 값에 해당하는 문자로 변환하는 함수를 작성하면됩니다. 지금까지 다음을 수행했습니다.

void puthexvalue(unsigned char ch) {
    putvalue(0x30) \\writes a '0' to the screen
    putvalue(0x78) \\writes an 'x' to the screen
    unsigned char ch1 = ch & 0xF0;
    unsigned char ch2 = (ch & 0x0F) >> 4;

이제 인쇄하려는 문자의 숫자 값 ch1ch2를 얻었지만 실제로 이러한 숫자에 해당하는 ASCII 값을 찾고 그 값을 인쇄하는 방법을 모르겠습니다.

어떤 힌트 나 도움을 주시면 감사하겠습니다!

편집 : ch1 = ch & 0xf0 >> 4 이어야합니다 ch2 = ch & 0x0f.

MikeCAT

에서 문자 코드 '0'로는 '9'C 사양의 연속을 보장받을 수 있습니다.

에서 문자 코드 'A''Z'과에서 'a'에는 'z'ASCII 코드에서 연속이다.

따라서 숫자가 0에서 9 사이이면 숫자를 더하여 ASCII 코드를 얻을 '0'수 있습니다. 숫자가 10에서 15 사이 이면 숫자에 10을 빼 'A'거나 더하여 ASCII 코드를 얻을 수 있습니다 'a'.

또한 귀하의 계산 ch1ch2잘못이 : ch1(하위 비트가 해제되기 때문에) (16)의 곱셈을하고 ch2있을 것입니다 항상 0 (마지막 4 비트가 아닌 비트 cleard 때문에, 마우스 오른쪽 4 비트 이동).

구현의 계산을 고정 포함 ch1하고 ch2다음과 같이 될 것입니다 :

char getHexChar(unsigned char c) {
    if (c <= 9) return '0' + c;
    else if (c <= 15) return 'A' + (c - 10);
    else return '?';
}

void puthexvalue(unsigned char ch) {
    putvalue(0x30); //writes a '0' to the screen
    putvalue(0x78); //writes an 'x' to the screen
    unsigned char ch1 = (ch & 0xF0) >> 4;
    unsigned char ch2 = ch & 0x0F;
    putvalue(getHexChar(ch1));
    putvalue(getHexChar(ch2));
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

특정 16 진수 값과 관련된 ASCII 문자를 인쇄합니다.

분류에서Dev

PHP에서 ASCII가 아닌 문자를 16 진수로 인쇄

분류에서Dev

PHP는 16 진수 값을 얻습니다 (문자열 표현이 아니라 실제로 16 진수)

분류에서Dev

EXCEL을 사용하여 16 진수 문자를 ASCII 문자로 변환

분류에서Dev

Erlang 16 진수 문자열을 ASCII 문자열로

분류에서Dev

해시 값 삽입 / 바꾸기 : "16 진수 문자열에 16 진수가 아닌 문자가 있습니다."

분류에서Dev

perl은 arg 입력에서 16 진수 ascii를 인쇄합니다.

분류에서Dev

Qt에서 16 진수 문자열을 Ascii로 변환

분류에서Dev

xxd를 사용하여 문자열이 아닌 16 진수 숫자의 이진 표현을 출력 할 수 있습니까?

분류에서Dev

hmacsha1은 vb.net과 python이 다른 16 진수 문자열을 출력합니다.

분류에서Dev

자바 스크립트 문자 (ASCII)를 16 진수로

분류에서Dev

c # 문자열 16 진수를 ascii로 변환 하시겠습니까? csv 파일에서 읽는 문자열

분류에서Dev

16 진수 매개 변수를 jQuery 함수에 전달하고 ASCII가 아닌 16 진수로 표시

분류에서Dev

ASCII 콘솔 입력을 16 진수로 변환

분류에서Dev

자바에서 16 진수 파일을 읽고 ASCII로 변환

분류에서Dev

C ++를 사용하여 입력 문자열의 16 진수 값을 어떻게 얻을 수 있습니까?

분류에서Dev

16 진수 문자열 값을 16 진수로 변환

분류에서Dev

두 문자열을 입력 인수로 받아들이는 find_mismatch라는 함수를 작성합니다.

분류에서Dev

Ascii 값을 16 진수 값으로 직접 변환

분류에서Dev

왜이 문장이 아니라 16 진수를 출력합니까? 커넥터 / C ++

분류에서Dev

Perl을 사용하여 ASCII의 16 진 문자열을 동일한 16 진 값으로 변환

분류에서Dev

AWK를 사용하여 출력을 받아야합니다.

분류에서Dev

Enum은 정수를 문자열로 받아들이고 Enum에 다른 값을 추가합니다.

분류에서Dev

Midi 16 진수 문자열을 아는 사람은 누구입니까?

분류에서Dev

MySQL은 어떻게 든 텍스트로 해석되는 바이너리 16 진수 문자열을 출력합니다. 어떻게 작동합니까?

분류에서Dev

ASCII를 16 진수로 변환

분류에서Dev

ASCII 십진수 코드로 입력 된 문자를 인쇄 할 때 이상한 10 값이 인쇄됩니다.

분류에서Dev

C #에서 16 진수 ASCII 문자열이라고 생각하는 것을 읽을 수있는 것으로 어떻게 변환합니까?

분류에서Dev

문자를 다듬는 HTML 16 진수

Related 관련 기사

  1. 1

    특정 16 진수 값과 관련된 ASCII 문자를 인쇄합니다.

  2. 2

    PHP에서 ASCII가 아닌 문자를 16 진수로 인쇄

  3. 3

    PHP는 16 진수 값을 얻습니다 (문자열 표현이 아니라 실제로 16 진수)

  4. 4

    EXCEL을 사용하여 16 진수 문자를 ASCII 문자로 변환

  5. 5

    Erlang 16 진수 문자열을 ASCII 문자열로

  6. 6

    해시 값 삽입 / 바꾸기 : "16 진수 문자열에 16 진수가 아닌 문자가 있습니다."

  7. 7

    perl은 arg 입력에서 16 진수 ascii를 인쇄합니다.

  8. 8

    Qt에서 16 진수 문자열을 Ascii로 변환

  9. 9

    xxd를 사용하여 문자열이 아닌 16 진수 숫자의 이진 표현을 출력 할 수 있습니까?

  10. 10

    hmacsha1은 vb.net과 python이 다른 16 진수 문자열을 출력합니다.

  11. 11

    자바 스크립트 문자 (ASCII)를 16 진수로

  12. 12

    c # 문자열 16 진수를 ascii로 변환 하시겠습니까? csv 파일에서 읽는 문자열

  13. 13

    16 진수 매개 변수를 jQuery 함수에 전달하고 ASCII가 아닌 16 진수로 표시

  14. 14

    ASCII 콘솔 입력을 16 진수로 변환

  15. 15

    자바에서 16 진수 파일을 읽고 ASCII로 변환

  16. 16

    C ++를 사용하여 입력 문자열의 16 진수 값을 어떻게 얻을 수 있습니까?

  17. 17

    16 진수 문자열 값을 16 진수로 변환

  18. 18

    두 문자열을 입력 인수로 받아들이는 find_mismatch라는 함수를 작성합니다.

  19. 19

    Ascii 값을 16 진수 값으로 직접 변환

  20. 20

    왜이 문장이 아니라 16 진수를 출력합니까? 커넥터 / C ++

  21. 21

    Perl을 사용하여 ASCII의 16 진 문자열을 동일한 16 진 값으로 변환

  22. 22

    AWK를 사용하여 출력을 받아야합니다.

  23. 23

    Enum은 정수를 문자열로 받아들이고 Enum에 다른 값을 추가합니다.

  24. 24

    Midi 16 진수 문자열을 아는 사람은 누구입니까?

  25. 25

    MySQL은 어떻게 든 텍스트로 해석되는 바이너리 16 진수 문자열을 출력합니다. 어떻게 작동합니까?

  26. 26

    ASCII를 16 진수로 변환

  27. 27

    ASCII 십진수 코드로 입력 된 문자를 인쇄 할 때 이상한 10 값이 인쇄됩니다.

  28. 28

    C #에서 16 진수 ASCII 문자열이라고 생각하는 것을 읽을 수있는 것으로 어떻게 변환합니까?

  29. 29

    문자를 다듬는 HTML 16 진수

뜨겁다태그

보관