Update ch03-02-data-types.md

pull/335/head
Abel liu 5 years ago committed by GitHub
parent b7dd761008
commit 2097bac291
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -69,7 +69,7 @@ error[E0282]: type annotations needed
比方说有一个 `u8` ,它可以存放从零到 `255` 的值。那么当你将其修改为 `256` 时会发生什么呢?这被称为 “整型溢出”“integer overflow” ),关于这一行为 Rust 有一些有趣的规则。当在 debug 模式编译时Rust 检查这类问题并使程序 *panic*,这个术语被 Rust 用来表明程序因错误而退出。第九章会详细介绍 panic。 比方说有一个 `u8` ,它可以存放从零到 `255` 的值。那么当你将其修改为 `256` 时会发生什么呢?这被称为 “整型溢出”“integer overflow” ),关于这一行为 Rust 有一些有趣的规则。当在 debug 模式编译时Rust 检查这类问题并使程序 *panic*,这个术语被 Rust 用来表明程序因错误而退出。第九章会详细介绍 panic。
在 release 构建中Rust 不检测溢出,相反会进行一种被称为 “twos complement wrapping” 的操作。简而言之,`256` 变成 `0``257` 变成 `1`,依此类推。依赖溢出被认为是一种错误,即便可能出现这种行为。如果你确实需要这种行为,标准库中有一个类型显式提供此功能,`Wrapping`。 在 release 构建中Rust 不检测溢出,相反会进行一种被称为二进制补码(*twos complement wrapping*的操作。简而言之,`256` 变成 `0``257` 变成 `1`,依此类推。依赖整型溢出被认为是一种错误,即便可能出现这种行为。如果你确实需要这种行为,标准库中有一个类型显式提供此功能,`Wrapping`。
#### 浮点型 #### 浮点型

Loading…
Cancel
Save