16진수를 나타내는 텍스트로, 문자형 배열, 문자형 벡터로 구성된 셀형 배열 또는 string형 배열로 지정됩니다. hexStr은 문자 0~9와 A~F 또는 a~f를 사용하여 16진수 숫자를 표현합니다.
hexStr이 여러 개의 행을 가진 문자형 배열이거나 문자형 벡터로 구성된 셀형 배열인 경우 출력값은 숫자형 열 벡터입니다.
hexStr이 string형 배열인 경우 출력값은 동일한 차원을 갖는 숫자형 배열입니다.
R2020a부터, hexStr은 16진수 리터럴에서 사용되는 것과 동일한 접두사(0x 또는 0X)와 접미사를 포함하는 텍스트일 수 있습니다. 예를 들어, 다음과 같은 hex2dec 호출은 각각 숫자 255를 반환합니다.
hex2dec('FF')
hex2dec('0xFF')
hex2dec('0xFFs32')
또한, R2020a에서 hexStr은 부호 있는 정수형을 지정하는 접미사를 사용하여 음수의 2의 보수를 나타낼 수 있습니다. 예를 들어, s8 접미사는 8비트 부호 있는 정수형을 지정하므로 hex2dec('0xFFs8')은 -1을 반환합니다. 이전 릴리스에서는 hexStr이 음수를 나타낼 수 없었습니다.
hex2dec 함수는 입력값이 flintmax보다 크거나 같은 경우 경고를 발생시킵니다. 이전 릴리스에서는 hex2dec 함수가 경고를 발생시키지 않았습니다.
flintmax보다 크거나 같은 정수를 나타내는 입력값은 배정밀도 부동소수점 값으로 정확하게 표현되지 않을 수 있으므로 이제 hex2dec 함수는 경고를 발생시킵니다.
flintmax보다 큰 값을 정확하게 변환하려면 다음 방법 중 하나를 사용해 보십시오.
스칼라 텍스트 입력값 대신 동일한 값을 표현하는 16진수 리터럴 또는 2진수 리터럴을 사용합니다. 리터럴로 값을 작성하면 MATLAB®은 정확하게 값을 표현하는 정수로 저장합니다. 자세한 내용은 16진수 값과 2진수 값 항목을 참조하십시오.
flintmax보다 큰 16진수 입력값을 변환하려면 %lx 연산자와 함께 sscanf 함수를 사용하면 됩니다. %lx를 사용할 경우, 변환된 값은 uint64 데이터형의 정수입니다. 이러한 정수는 flintmax보다 큰 값을 정확하게 표현할 수 있는 충분한 저장공간을 갖습니다.