숫자형 변환
- 업데이트 날짜:2025-08-27
- 2분 (읽기 시간)
출력을 다른 숫자형을 가진 대상에 연결한 경우, LabVIEW는 다음 원칙에 따라서 데이터를 변환합니다:
- 부호있는 또는 부호없는 정수를 부동소수로―LabVIEW는 데이터를 가장 가까운 값으로 변환합니다. 이 변환은 부동소수가 정수보다 더 정밀할 때 정확합니다. 정수가 부동소수보다 더 정밀할 경우, LabVIEW는 변환에서 최대한 정밀도를 유지합니다.
- 부동소수를 부호있는 또는 부호없는 정수에 연결―LabVIEW는 범위를 벗어나는 값을 정수의 최대 또는 최소값으로 강제변환합니다. 예를 들어, 음의 부동소수를 부호없는 정수로 변환하는 경우, 결과는 0입니다.
- LabVIEW는 열거형을 부호없는 정수로 취급합니다―예를 들어, 부동소수 -1을 열거형으로 변환하는 경우, LabVIEW는 이 값을 열거형 범위 안으로 강제 변환합니다. 열거형의 범위가 0 ~ 25인 경우, LabVIEW는 이 값을 0으로 변환합니다.
- 정수를 정수에 연결―LabVIEW는 범위를 벗어나는 값을 정수의 최대 또는 최소값으로 강제 변환하지 않습니다. 소스가 대상보다 더 작은 경우, LabVIEW는 부호있는 소스의 부호를 확장하고 부호없는 소스의 나머지 비트를 제로로 채웁니다. 소스가 대상보다 더 큰 경우, LabVIEW는 값의 최하위 비트만 복사합니다.
- 정수, 부동소수, 또는 고정 소수점 수를 고정 소수점 수에 연결―LabVIEW는 고정 소수점 수에서 원하는 범위 밖의 값을 최대값과 최소값 범위내로 강제 변환시킵니다.
동일한 데이터 타입을 입력으로 요구하는 숫자형 함수에 서로 다른 숫자 데이터 타입을 연결할 경우, LabVIEW는 터미널 중 하나를 다른 터미널과 같은 형으로 변환합니다. LabVIEW는 더 많은 비트를 사용하는 형을 선택합니다. 비트 수가 같은 경우, LabVIEW는 부호있는 쪽보다 부호없는 쪽을 선택합니다.
노트 (FPGA Module) FPGA VI에서 발생하는 강제변환은 상당한 FPGA 리소스를 소모할 수 있으며 특히 터미널이 SGL 데이터 타입으로 또는 SGL 데이터 타입에서 변환될 때 소모가 큽니다.
LabVIEW는 블록다이어그램의 노드에 강제 변환점을 놓아, LabVIEW가 해당 노드로 전달된 값을 다른 형으로 강제 변환하였음을 나타냅니다. 일부 강제 변환의 경우, 강제 변환점은 메모리 사용 및 실행 시간의 증가를 가져오고, 결과의 정확도를 떨어뜨릴 수 있습니다. 강제 변환점을 제거하려면, 컨트롤 또는 상수의 출력 데이터 타입을 데이터를 받는 터미널의 데이터 타입에 일치시킵니다. 블록다이어그램의 컨트롤 또는 상수에서 마우스 오른쪽 버튼을 클릭한 후, 바로 가기 메뉴에서 형을 선택하여 입력값의 형을 터미널의 형으로 변경합니다.