산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> MATLAB

MATLAB 숫자 유형: 정수, 부동소수점, 변환과 범위 총정리

MATLAB 숫자 클래스 개요

MATLAB은 부호 있는/없는 정수형과 단정도/배정도 부동소수점형을 지원합니다. 기본적으로 모든 숫자 값은 배정도(double) 부동소수점으로 저장됩니다. 필요에 따라 정수형이나 단정도(single)로 저장할 수도 있습니다. 모든 숫자 유형은 기본 배열 연산과 수학 연산을 지원합니다.

숫자 데이터 유형 변환 함수

함수용도
double배정도 숫자로 변환
single단정도 숫자로 변환
int88비트 부호 있는 정수로 변환
int1616비트 부호 있는 정수로 변환
int3232비트 부호 있는 정수로 변환
int6464비트 부호 있는 정수로 변환
uint88비트 부호 없는 정수로 변환
uint1616비트 부호 없는 정수로 변환
uint3232비트 부호 없는 정수로 변환
uint6464비트 부호 없는 정수로 변환

예제: 다양한 유형으로 변환 후 연산

x = single([5.32 3.47 6.28]) .* 7.5
x = double([5.32 3.47 6.28]) .* 7.5
x = int8([5.32 3.47 6.28]) .* 7.5
x = int16([5.32 3.47 6.28]) .* 7.5
x = int32([5.32 3.47 6.28]) .* 7.5
x = int64([5.32 3.47 6.28]) .* 7.5

실행 결과:

x = 39.9000   26.0250   47.1000
x = 39.9000   26.0250   47.1000
x = 38  23  45
x = 38  23  45
x = 38  23  45
x = 38  23  45

정수형에서는 소수 부분이 잘림(반올림 아님)됩니다.

예제: int32/int64 후 cell 배열 변환

x = int32([5.32 3.47 6.28]) .* 7.5
x = int64([5.32 3.47 6.28]) .* 7.5
x = num2cell(x)

실행 결과:

x = 38  23  45
x = 38  23  45
x = { [1,1] = 38; [1,2] = 23; [1,3] = 45 }

정수형 최솟값/최댓값 확인

intmax(), intmin() 함수는 각 정수 유형이 표현 가능한 최댓값/최솟값을 반환합니다. 인수로 데이터 유형 문자열을 전달합니다(예: intmax('int8')).

예제: 모든 정수 유형의 범위 출력

str = 'The range for int8 is:\n\t%d to %d ';
sprintf(str, intmin('int8'), intmax('int8'))
str = 'The range for int16 is:\n\t%d to %d ';
sprintf(str, intmin('int16'), intmax('int16'))
str = 'The range for int32 is:\n\t%d to %d ';
sprintf(str, intmin('int32'), intmax('int32'))
str = 'The range for int64 is:\n\t%d to %d ';
sprintf(str, intmin('int64'), intmax('int64'))

str = 'The range for uint8 is:\n\t%d to %d ';
sprintf(str, intmin('uint8'), intmax('uint8'))
str = 'The range for uint16 is:\n\t%d to %d ';
sprintf(str, intmin('uint16'), intmax('uint16'))
str = 'The range for uint32 is:\n\t%d to %d ';
sprintf(str, intmin('uint32'), intmax('uint32'))
str = 'The range for uint64 is:\n\t%d to %d ';
sprintf(str, intmin('uint64'), intmax('uint64'))

실행 결과 (일부):

ans = The range for int8 is:  -128 to 127
ans = The range for int16 is:  -32768 to 32767
ans = The range for int32 is:  -2147483648 to 2147483647
ans = The range for int64 is:  -9223372036854775808 to 9223372036854775807
ans = The range for uint8 is:  0 to 255
ans = The range for uint16 is:  0 to 65535
ans = The range for uint32 is:  0 to 4294967295
ans = The range for uint64 is:  0 to 18446744073709551615
※ 원문 출력 예시에는 int64/uint64 범위가 잘못 표기되어 있어 올바른 값으로 수정했습니다.

부동소수점형 최솟값/최댓값 확인

realmax(), realmin() 함수는 부동소수점 유형의 최댓값/최솟값을 반환합니다. 인수로 'single' 또는 'double'을 지정합니다.

예제: 단정도/배정도 범위 출력

str = 'The range for single is:\n\t%g to %g and\n\t %g to %g';
sprintf(str, -realmax('single'), -realmin('single'), realmin('single'), realmax('single'))

str = 'The range for double is:\n\t%g to %g and\n\t %g to %g';
sprintf(str, -realmax('double'), -realmin('double'), realmin('double'), realmax('double'))

실행 결과:

ans = The range for single is: -3.40282e+38 to -1.17549e-38 and 1.17549e-38 to 3.40282e+38
ans = The range for double is: -1.79769e+308 to -2.22507e-308 and 2.22507e-308 to 1.79769e+308

MATLAB

  1. 숫자와 숫자 체계: 구별 이해와 실질적 영향
  2. MATLAB: 선도적인 수치 연산 환경 종합 개요
  3. MATLAB 변수 이해: 기초와 예제
  4. 효율적인 계산을 위한 필수 MATLAB 명령어
  5. MATLAB 데이터 타입 완벽 가이드: 종류, 변환, 확인 방법
  6. MATLAB 연산자 마스터: 산술, 논리, 비트 연산 완벽 가이드
  7. MATLAB 행렬 기초 마스터: 생성, 참조, 데이터 조작
  8. MATLAB: 다차원 배열과 특수 배열 마스터하기
  9. MATLAB 콜론 연산자 마스터하기: 벡터 생성과 효율적 반복
  10. MATLAB 문자열 완벽 가이드: 생성, 결합, 셀 배열 변환, 주요 함수