From 49c492061ecb486b8781178468f245bddb56ecb8 Mon Sep 17 00:00:00 2001 From: cokernut Date: Tue, 4 Jul 2023 15:56:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=86=85=E5=AE=B9=E4=BC=98=E5=8C=96=EF=BC=9A?= =?UTF-8?q?=E6=9C=89=E6=97=A0=E7=AC=A6=E5=8F=B7=E6=95=B4=E5=9E=8B=E7=9A=84?= =?UTF-8?q?=E5=8F=96=E5=80=BC=E6=8F=8F=E8=BF=B0=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 有无符号整型的取值范围添加0 --- src/basic/base-type/numbers.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/basic/base-type/numbers.md b/src/basic/base-type/numbers.md index 420938ef..99d7d661 100644 --- a/src/basic/base-type/numbers.md +++ b/src/basic/base-type/numbers.md @@ -22,7 +22,7 @@ Rust 使用一个相对传统的语法来创建整数(`1`,`2`,...)和浮 | 128 位 | `i128` | `u128` | | 视架构而定 | `isize` | `usize` | -类型定义的形式统一为:`有无符号 + 类型大小(位数)`。**无符号数**表示数字只能取正数,而**有符号**则表示数字既可以取正数又可以取负数。就像在纸上写数字一样:当要强调符号时,数字前面可以带上正号或负号;然而,当很明显确定数字为正数时,就不需要加上正号了。有符号数字以[补码](https://en.wikipedia.org/wiki/Two%27s_complement)形式存储。 +类型定义的形式统一为:`有无符号 + 类型大小(位数)`。**无符号数**表示数字只能取正数和0,而**有符号**则表示数字可以取正数、负数还有0。就像在纸上写数字一样:当要强调符号时,数字前面可以带上正号或负号;然而,当很明显确定数字为正数时,就不需要加上正号了。有符号数字以[补码](https://en.wikipedia.org/wiki/Two%27s_complement)形式存储。 每个有符号类型规定的数字范围是 -(2n - 1) ~ 2n - 1 - 1,其中 `n` 是该定义形式的位长度。因此 `i8` 可存储数字范围是 -(27) ~ 27 - 1,即 -128 ~ 127。无符号类型可以存储的数字范围是 0 ~ 2n - 1,所以 `u8` 能够存储的数字为 0 ~ 28 - 1,即 0 ~ 255。