f() aint16_t를 인쇄하려면 어떻게 해야 합니까?
aint16_t를 인쇄하려면 printf()를 사용해야 합니다.이 SO답안(unint32_t 및 unint16_t variables value를 출력하는 방법?)은 intype.h를 사용해야 한다고 말합니다.
하지만 임베디드 시스템을 작업 중인데 intype.h는 사용할 수 없습니다.aunt16_t의 형식 지정자를 사용할 수 없을 때 aunt16_t를 인쇄하려면 어떻게 해야 합니까?
inttype.h 스타일을 사용하되 기호를 직접 정의해야 합니다.예를 들어,
#define PRIu8 "hhu"
#define PRId8 "hhd"
#define PRIx8 "hhx"
#define PRIu16 "hu"
#define PRId16 "hd"
#define PRIx16 "hx"
#define PRIu32 "u"
#define PRId32 "d"
#define PRIx32 "x"
#define PRIu64 "llu" // or possibly "lu"
#define PRId64 "lld" // or possibly "ld"
#define PRIx64 "llx" // or possibly "lx"
당신의 기계를 위해 그것들을 알아내서 사용하세요.필요한 intype.h 및 도형으로 다른 것을 살펴봅니다.
이렇게 하면 코드가 더 쉽게 이동할 수 있습니다.저는 70년대 후반부터 임베디드 시스템 작업을 해왔습니다.저를 믿으세요: 휴대성이 중요합니다.
분명한 방법은 다음과 같습니다.
printf("%u\n", (unsigned int)x);
서명되지 않은 int는 최소 16비트가 보장되므로 손실 변환이 아닙니다.
short int
최소 16비트 길이이므로 값을 다음으로 변환합니다.unsigned short int
인쇄합니다.%hu
.
언급URL : https://stackoverflow.com/questions/29112878/how-do-i-printf-a-uint16-t
'programing' 카테고리의 다른 글
PHP 5.3을 위한 PHP 5.2 '호환 모드'가 있습니까? (0) | 2023.11.06 |
---|---|
여러 프로토콜을 신속하게 준수하는 유형 (0) | 2023.11.06 |
Oracle의 MD5를 PHP의 MD5와 일치시키는 방법 (0) | 2023.11.06 |
팬더 WITH 지수에서 데이터 프레임을 사전으로 변환하는 방법 (0) | 2023.11.06 |
다중 로그 파일 스프링 부팅 (0) | 2023.11.06 |