@floatCast — float 타입 간 형변환

@floatCast — float 타입 간 형변환

출처: Zig Documentation

본문

한 float 타입에서 다른 float 타입으로 변환하는 내장 함수예요. 이 캐스트는 안전하지만, 숫자 값의 정밀도가 떨어질 수 있어요. 반환 타입은 추론된 결과 타입이에요.

@floatCast(value: anytype) anytype
  • value: 변환할 원본 값이에요. 어떤 float 타입이든 받을 수 있어요 (anytype).
  • 반환 타입: 함수 호출이 쓰인 자리에서 기대되는 타입을 따라 추론돼요. 예를 들어 f64 값을 f32 변수에 넣는 자리에서 호출하면 f32가 되는 식이에요.

어떻게 쓰는지 보면 감이 오실 거예요. f64로 계산한 결과를 f32 변수에 담고 싶을 때 이렇게 호출해요:

const wide: f64 = 3.14159265358979;
const narrow: f32 = @floatCast(wide);

이 캐스트 자체는 실패하지 않는 안전한 연산이지만, 넓은 타입에서 좁은 타입으로 옮길 때는 표현할 수 없는 자릿수가 잘리면서 정밀도가 달라질 수 있다는 점만 기억해 주세요.

더 알아보기

  • @floatFromInt — 정수에서 float 타입으로 변환할 때 쓰는 내장 함수예요.
  • @intCast처럼 캐스트 계열 내장 함수들은 타입 변환 시 자동 형변환이 불가능한 상황에서 명시적으로 사용해요.