0
캐스팅했습니다. 과 같은 문구가 있습니다. uint32 XYZ; ... XYZ = (uint32) 0x0000000U.MISRA-C : 리터럴 번호를
캐스트가 필요한지 궁금한가요? XYZ = 0U입니까?
감사
캐스팅했습니다. 과 같은 문구가 있습니다. uint32 XYZ; ... XYZ = (uint32) 0x0000000U.MISRA-C : 리터럴 번호를
캐스트가 필요한지 궁금한가요? XYZ = 0U입니까?
감사
이론적으로 64 비트의 부호없는 INT 될 수 0U
정수 상수. 그렇다면 MISRA-C (2012 10.3)가 더 좁은 형식의 암시 적 변환을 허용하지 않기 때문에 캐스트가 필요합니다. 그러나 32 비트 CPU 이하에서는 캐스트가 필요하지 않습니다.
대체 방법으로 uint32_t XYZ = UINT32_C(0);
을 작성하면 컴파일러에서 정수 상수에 적합한 유형을 자동으로 선택합니다.