Notice
Recent Posts
Recent Comments
목록언더플로 (1)
NeuroWhAI의 잡블로그
[Rust] wrapping으로 오버플로/언더플로 에러 피하기
fn main() { let num = u32::max_value(); println!("{}", num + 1); } 러스트는 런타임 연산 과정에서 오버/언더플로를 감지하여 패닉을 일으켜주는 기능이 있습니다.그래서 위 코드는 "thread 'main' panicked at 'attempt to add with overflow'"같은 에러를 뿜습니다.대부분은 도움이 되지만 가끔 일부러 오버/언더플로를 일으키는 경우도 있습니다.그럴 때 쓸 수 있는게 wrapping_* 메소드나 Wrapping입니다. fn main() { let num = u32::max_value(); println!("{}", num.wrapping_add(1)); }위 코드는 wrapping_add 메소드를 사용해서 패닉 없이 오버플..
개발 및 공부/언어
2018. 12. 19. 12:55