Primitive Type u8
1.0.0 ·Expand description
8 位无符号整数类型。
Implementations§
source§impl u8
impl u8
sourcepub fn from_str_radix(src: &str, radix: u32) -> Result<Self, ParseIntError>
pub fn from_str_radix(src: &str, radix: u32) -> Result<Self, ParseIntError>
const: 1.32.0 · sourcepub const fn count_ones(self) -> u32
pub const fn count_ones(self) -> u32
const: 1.32.0 · sourcepub const fn count_zeros(self) -> u32
pub const fn count_zeros(self) -> u32
const: 1.32.0 · sourcepub const fn leading_zeros(self) -> u32
pub const fn leading_zeros(self) -> u32
const: 1.32.0 · sourcepub const fn trailing_zeros(self) -> u32
pub const fn trailing_zeros(self) -> u32
1.46.0 (const: 1.46.0) · sourcepub const fn leading_ones(self) -> u32
pub const fn leading_ones(self) -> u32
1.46.0 (const: 1.46.0) · sourcepub const fn trailing_ones(self) -> u32
pub const fn trailing_ones(self) -> u32
const: 1.32.0 · sourcepub const fn rotate_left(self, n: u32) -> Self
pub const fn rotate_left(self, n: u32) -> Self
const: 1.32.0 · sourcepub const fn rotate_right(self, n: u32) -> Self
pub const fn rotate_right(self, n: u32) -> Self
const: 1.32.0 · sourcepub const fn swap_bytes(self) -> Self
pub const fn swap_bytes(self) -> Self
1.37.0 (const: 1.37.0) · sourcepub const fn reverse_bits(self) -> Self
pub const fn reverse_bits(self) -> Self
const: 1.47.0 · sourcepub const fn checked_add(self, rhs: Self) -> Option<Self>
pub const fn checked_add(self, rhs: Self) -> Option<Self>
const: unstable · sourcepub unsafe fn unchecked_add(self, rhs: Self) -> Self
🔬This is a nightly-only experimental API. (unchecked_math
#85122)
pub unsafe fn unchecked_add(self, rhs: Self) -> Self
unchecked_math
#85122)未经检查的整数加法。
假设不会发生溢出,则计算 self + rhs
。
Safety
当以下情况时,这导致未定义的行为
self + rhs > u8::MAX
or self + rhs < u8::MIN
,
即当 checked_add
将返回 None
时。
1.66.0 (const: 1.66.0) · sourcepub const fn checked_add_signed(self, rhs: i8) -> Option<Self>
pub const fn checked_add_signed(self, rhs: i8) -> Option<Self>
const: 1.47.0 · sourcepub const fn checked_sub(self, rhs: Self) -> Option<Self>
pub const fn checked_sub(self, rhs: Self) -> Option<Self>
const: unstable · sourcepub unsafe fn unchecked_sub(self, rhs: Self) -> Self
🔬This is a nightly-only experimental API. (unchecked_math
#85122)
pub unsafe fn unchecked_sub(self, rhs: Self) -> Self
unchecked_math
#85122)未经检查的整数减法。
假设不会发生溢出,则计算 self - rhs
。
Safety
当以下情况时,这导致未定义的行为
self - rhs > u8::MAX
or self - rhs < u8::MIN
,
即当 checked_sub
将返回 None
时。
const: 1.47.0 · sourcepub const fn checked_mul(self, rhs: Self) -> Option<Self>
pub const fn checked_mul(self, rhs: Self) -> Option<Self>
const: unstable · sourcepub unsafe fn unchecked_mul(self, rhs: Self) -> Self
🔬This is a nightly-only experimental API. (unchecked_math
#85122)
pub unsafe fn unchecked_mul(self, rhs: Self) -> Self
unchecked_math
#85122)未经检查的整数乘法。
假设不会发生溢出,则计算 self * rhs
。
Safety
当以下情况时,这导致未定义的行为
self * rhs > u8::MAX
or self * rhs < u8::MIN
,
即当 checked_mul
将返回 None
时。
const: 1.52.0 · sourcepub const fn checked_div(self, rhs: Self) -> Option<Self>
pub const fn checked_div(self, rhs: Self) -> Option<Self>
1.38.0 (const: 1.52.0) · sourcepub const fn checked_div_euclid(self, rhs: Self) -> Option<Self>
pub const fn checked_div_euclid(self, rhs: Self) -> Option<Self>
1.7.0 (const: 1.52.0) · sourcepub const fn checked_rem(self, rhs: Self) -> Option<Self>
pub const fn checked_rem(self, rhs: Self) -> Option<Self>
1.38.0 (const: 1.52.0) · sourcepub const fn checked_rem_euclid(self, rhs: Self) -> Option<Self>
pub const fn checked_rem_euclid(self, rhs: Self) -> Option<Self>
1.67.0 (const: 1.67.0) · sourcepub const fn checked_ilog(self, base: Self) -> Option<u32>
pub const fn checked_ilog(self, base: Self) -> Option<u32>
1.67.0 (const: 1.67.0) · sourcepub const fn checked_ilog2(self) -> Option<u32>
pub const fn checked_ilog2(self) -> Option<u32>
1.67.0 (const: 1.67.0) · sourcepub const fn checked_ilog10(self) -> Option<u32>
pub const fn checked_ilog10(self) -> Option<u32>
1.7.0 (const: 1.47.0) · sourcepub const fn checked_neg(self) -> Option<Self>
pub const fn checked_neg(self) -> Option<Self>
1.7.0 (const: 1.47.0) · sourcepub const fn checked_shl(self, rhs: u32) -> Option<Self>
pub const fn checked_shl(self, rhs: u32) -> Option<Self>
const: unstable · sourcepub unsafe fn unchecked_shl(self, rhs: u32) -> Self
🔬This is a nightly-only experimental API. (unchecked_math
#85122)
pub unsafe fn unchecked_shl(self, rhs: u32) -> Self
unchecked_math
#85122)未检查的左移。
计算 self << rhs
,假设 rhs
小于 self
中的位数。
Safety
如果 rhs
大于或等于 self
中的位数,则会导致未定义的行为,即
当 checked_shl
返回 None
时。
1.7.0 (const: 1.47.0) · sourcepub const fn checked_shr(self, rhs: u32) -> Option<Self>
pub const fn checked_shr(self, rhs: u32) -> Option<Self>
const: unstable · sourcepub unsafe fn unchecked_shr(self, rhs: u32) -> Self
🔬This is a nightly-only experimental API. (unchecked_math
#85122)
pub unsafe fn unchecked_shr(self, rhs: u32) -> Self
unchecked_math
#85122)未检查右移。
计算 self >> rhs
,假设 rhs
小于 self
中的位数。
Safety
如果 rhs
大于或等于 self
中的位数,则会导致未定义的行为,即
当 checked_shr
返回 None
时。
1.34.0 (const: 1.50.0) · sourcepub const fn checked_pow(self, exp: u32) -> Option<Self>
pub const fn checked_pow(self, exp: u32) -> Option<Self>
const: 1.47.0 · sourcepub const fn saturating_add(self, rhs: Self) -> Self
pub const fn saturating_add(self, rhs: Self) -> Self
1.66.0 (const: 1.66.0) · sourcepub const fn saturating_add_signed(self, rhs: i8) -> Self
pub const fn saturating_add_signed(self, rhs: i8) -> Self
const: 1.47.0 · sourcepub const fn saturating_sub(self, rhs: Self) -> Self
pub const fn saturating_sub(self, rhs: Self) -> Self
1.7.0 (const: 1.47.0) · sourcepub const fn saturating_mul(self, rhs: Self) -> Self
pub const fn saturating_mul(self, rhs: Self) -> Self
1.58.0 (const: 1.58.0) · sourcepub const fn saturating_div(self, rhs: Self) -> Self
pub const fn saturating_div(self, rhs: Self) -> Self
1.34.0 (const: 1.50.0) · sourcepub const fn saturating_pow(self, exp: u32) -> Self
pub const fn saturating_pow(self, exp: u32) -> Self
const: 1.32.0 · sourcepub const fn wrapping_add(self, rhs: Self) -> Self
pub const fn wrapping_add(self, rhs: Self) -> Self
1.66.0 (const: 1.66.0) · sourcepub const fn wrapping_add_signed(self, rhs: i8) -> Self
pub const fn wrapping_add_signed(self, rhs: i8) -> Self
const: 1.32.0 · sourcepub const fn wrapping_sub(self, rhs: Self) -> Self
pub const fn wrapping_sub(self, rhs: Self) -> Self
const: 1.32.0 · sourcepub const fn wrapping_mul(self, rhs: Self) -> Self
pub const fn wrapping_mul(self, rhs: Self) -> Self
1.2.0 (const: 1.52.0) · sourcepub const fn wrapping_div(self, rhs: Self) -> Self
pub const fn wrapping_div(self, rhs: Self) -> Self
1.38.0 (const: 1.52.0) · sourcepub const fn wrapping_div_euclid(self, rhs: Self) -> Self
pub const fn wrapping_div_euclid(self, rhs: Self) -> Self
1.2.0 (const: 1.52.0) · sourcepub const fn wrapping_rem(self, rhs: Self) -> Self
pub const fn wrapping_rem(self, rhs: Self) -> Self
1.38.0 (const: 1.52.0) · sourcepub const fn wrapping_rem_euclid(self, rhs: Self) -> Self
pub const fn wrapping_rem_euclid(self, rhs: Self) -> Self
1.2.0 (const: 1.32.0) · sourcepub const fn wrapping_neg(self) -> Self
pub const fn wrapping_neg(self) -> Self
包装 (modular) 取反。
计算 -self
,在类型的边界处回绕。
由于无符号类型没有负的等效项,因此该函数的所有应用程序都将自动换行 (-0
除外)。
对于小于相应有符号类型的最大值的值,结果与强制转换相应有符号值的结果相同。
任何较大的值都等于 MAX + 1 - (val - MAX - 1)
,其中 MAX
是对应的有符号类型的最大值。
Examples
基本用法:
assert_eq!(0_u8.wrapping_neg(), 0);
assert_eq!(u8::MAX.wrapping_neg(), 1);
assert_eq!(13_u8.wrapping_neg(), (!13) + 1);
assert_eq!(42_u8.wrapping_neg(), !(42 - 1));
Run1.2.0 (const: 1.32.0) · sourcepub const fn wrapping_shl(self, rhs: u32) -> Self
pub const fn wrapping_shl(self, rhs: u32) -> Self
无 Panic - 按位左移;
产生 self << mask(rhs)
,其中 mask
删除 rhs
的所有高位,这些高位将导致移位超过该类型的位宽。
注意,这与左旋不同; 环绕左移的 RHS 限于该类型的范围,而不是从 LHS 移出的位返回到另一端。
所有原始整数类型都实现了 rotate_left
函数,而您可能想要的是 rotate_left
函数。
Examples
基本用法:
assert_eq!(1u8.wrapping_shl(7), 128);
assert_eq!(1u8.wrapping_shl(128), 1);
Run1.2.0 (const: 1.32.0) · sourcepub const fn wrapping_shr(self, rhs: u32) -> Self
pub const fn wrapping_shr(self, rhs: u32) -> Self
无 Panic - 按位右移;
产生 self >> mask(rhs)
,其中 mask
删除 rhs
的所有高位,这些高位将导致移位超过该类型的位宽。
注意,这与右旋转不同。换行右移的 RHS 限于类型的范围,而不是从 LHS 移出的位返回到另一端。
所有原始整数类型都实现了 rotate_right
函数,而您可能想要的是 rotate_right
函数。
Examples
基本用法:
assert_eq!(128u8.wrapping_shr(7), 1);
assert_eq!(128u8.wrapping_shr(128), 128);
Run1.34.0 (const: 1.50.0) · sourcepub const fn wrapping_pow(self, exp: u32) -> Self
pub const fn wrapping_pow(self, exp: u32) -> Self
1.7.0 (const: 1.32.0) · sourcepub const fn overflowing_add(self, rhs: Self) -> (Self, bool)
pub const fn overflowing_add(self, rhs: Self) -> (Self, bool)
const: unstable · sourcepub fn carrying_add(self, rhs: Self, carry: bool) -> (Self, bool)
🔬This is a nightly-only experimental API. (bigint_helper_methods
#85532)
pub fn carrying_add(self, rhs: Self, carry: bool) -> (Self, bool)
bigint_helper_methods
#85532)计算 self
+ rhs
+ carry
并返回一个包含总和和输出进位的元组。
对两个整数操作数和一个进位位执行 “ternary addition”,并返回一个输出整数和一个进位位。 这允许将多个加法链接在一起以创建更广泛的加法,并且对于 bignum 加法很有用。
This can be thought of as a 8-bit “full adder”, in the electronics sense.
如果输入进位为假,则此方法等价于 overflowing_add
,输出进位等于溢出标志。
请注意,尽管进位和溢出标志对于无符号整数是相似的,但对于有符号整数它们是不同的。
Examples
#![feature(bigint_helper_methods)]
// 3 MAX (a = 3 × 2^8 + 2^8 - 1)
// + 5 7 (b = 5 × 2^8 + 7)
// ---------
// 9 6 (sum = 9 × 2^8 + 6)
let (a1, a0): (u8, u8) = (3, u8::MAX);
let (b1, b0): (u8, u8) = (5, 7);
let carry0 = false;
let (sum0, carry1) = a0.carrying_add(b0, carry0);
assert_eq!(carry1, true);
let (sum1, carry2) = a1.carrying_add(b1, carry1);
assert_eq!(carry2, false);
assert_eq!((sum1, sum0), (9, 6));
Run1.66.0 (const: 1.66.0) · sourcepub const fn overflowing_add_signed(self, rhs: i8) -> (Self, bool)
pub const fn overflowing_add_signed(self, rhs: i8) -> (Self, bool)
1.7.0 (const: 1.32.0) · sourcepub const fn overflowing_sub(self, rhs: Self) -> (Self, bool)
pub const fn overflowing_sub(self, rhs: Self) -> (Self, bool)
const: unstable · sourcepub fn borrowing_sub(self, rhs: Self, borrow: bool) -> (Self, bool)
🔬This is a nightly-only experimental API. (bigint_helper_methods
#85532)
pub fn borrowing_sub(self, rhs: Self, borrow: bool) -> (Self, bool)
bigint_helper_methods
#85532)计算 self
-rhs
-borrow
并返回一个包含差值和输出借用的元组。
通过从 self
中减去一个整数操作数和一个借用 - in 位来执行 “ternary subtraction”,并返回一个输出整数和一个借用 - out 位。
这允许将多个减法链接在一起以创建更广泛的减法,并且对于 bignum 减法很有用。
Examples
#![feature(bigint_helper_methods)]
// 9 6 (a = 9 × 2^8 + 6)
// - 5 7 (b = 5 × 2^8 + 7)
// ---------
// 3 MAX (diff = 3 × 2^8 + 2^8 - 1)
let (a1, a0): (u8, u8) = (9, 6);
let (b1, b0): (u8, u8) = (5, 7);
let borrow0 = false;
let (diff0, borrow1) = a0.borrowing_sub(b0, borrow0);
assert_eq!(borrow1, true);
let (diff1, borrow2) = a1.borrowing_sub(b1, borrow1);
assert_eq!(borrow2, false);
assert_eq!((diff1, diff0), (3, u8::MAX));
Run1.7.0 (const: 1.32.0) · sourcepub const fn overflowing_mul(self, rhs: Self) -> (Self, bool)
pub const fn overflowing_mul(self, rhs: Self) -> (Self, bool)
1.7.0 (const: 1.52.0) · sourcepub const fn overflowing_div(self, rhs: Self) -> (Self, bool)
pub const fn overflowing_div(self, rhs: Self) -> (Self, bool)
1.38.0 (const: 1.52.0) · sourcepub const fn overflowing_div_euclid(self, rhs: Self) -> (Self, bool)
pub const fn overflowing_div_euclid(self, rhs: Self) -> (Self, bool)
1.7.0 (const: 1.52.0) · sourcepub const fn overflowing_rem(self, rhs: Self) -> (Self, bool)
pub const fn overflowing_rem(self, rhs: Self) -> (Self, bool)
1.38.0 (const: 1.52.0) · sourcepub const fn overflowing_rem_euclid(self, rhs: Self) -> (Self, bool)
pub const fn overflowing_rem_euclid(self, rhs: Self) -> (Self, bool)
1.7.0 (const: 1.32.0) · sourcepub const fn overflowing_neg(self) -> (Self, bool)
pub const fn overflowing_neg(self) -> (Self, bool)
1.7.0 (const: 1.32.0) · sourcepub const fn overflowing_shl(self, rhs: u32) -> (Self, bool)
pub const fn overflowing_shl(self, rhs: u32) -> (Self, bool)
1.7.0 (const: 1.32.0) · sourcepub const fn overflowing_shr(self, rhs: u32) -> (Self, bool)
pub const fn overflowing_shr(self, rhs: u32) -> (Self, bool)
1.34.0 (const: 1.50.0) · sourcepub const fn overflowing_pow(self, exp: u32) -> (Self, bool)
pub const fn overflowing_pow(self, exp: u32) -> (Self, bool)
1.38.0 (const: 1.52.0) · sourcepub const fn div_euclid(self, rhs: Self) -> Self
pub const fn div_euclid(self, rhs: Self) -> Self
1.38.0 (const: 1.52.0) · sourcepub const fn rem_euclid(self, rhs: Self) -> Self
pub const fn rem_euclid(self, rhs: Self) -> Self
sourcepub const fn div_floor(self, rhs: Self) -> Self
🔬This is a nightly-only experimental API. (int_roundings
#88581)
pub const fn div_floor(self, rhs: Self) -> Self
int_roundings
#88581)sourcepub const fn div_ceil(self, rhs: Self) -> Self
🔬This is a nightly-only experimental API. (int_roundings
#88581)
pub const fn div_ceil(self, rhs: Self) -> Self
int_roundings
#88581)sourcepub const fn next_multiple_of(self, rhs: Self) -> Self
🔬This is a nightly-only experimental API. (int_roundings
#88581)
pub const fn next_multiple_of(self, rhs: Self) -> Self
int_roundings
#88581)sourcepub const fn checked_next_multiple_of(self, rhs: Self) -> Option<Self>
🔬This is a nightly-only experimental API. (int_roundings
#88581)
pub const fn checked_next_multiple_of(self, rhs: Self) -> Option<Self>
int_roundings
#88581)计算大于或等于 rhs
倍数的 self
的最小值。
如果 rhs
为零,则返回 None
,否则操作会导致溢出。
Examples
基本用法:
#![feature(int_roundings)]
assert_eq!(16_u8.checked_next_multiple_of(8), Some(16));
assert_eq!(23_u8.checked_next_multiple_of(8), Some(24));
assert_eq!(1_u8.checked_next_multiple_of(0), None);
assert_eq!(u8::MAX.checked_next_multiple_of(2), None);
Runconst: 1.32.0 · sourcepub const fn is_power_of_two(self) -> bool
pub const fn is_power_of_two(self) -> bool
const: 1.50.0 · sourcepub const fn next_power_of_two(self) -> Self
pub const fn next_power_of_two(self) -> Self
const: 1.50.0 · sourcepub const fn checked_next_power_of_two(self) -> Option<Self>
pub const fn checked_next_power_of_two(self) -> Option<Self>
const: unstable · sourcepub fn wrapping_next_power_of_two(self) -> Self
🔬This is a nightly-only experimental API. (wrapping_next_power_of_two
#32463)
pub fn wrapping_next_power_of_two(self) -> Self
wrapping_next_power_of_two
#32463)1.32.0 (const: 1.44.0) · sourcepub const fn to_be_bytes(self) -> [u8; 1]
pub const fn to_be_bytes(self) -> [u8; 1]
1.32.0 (const: 1.44.0) · sourcepub const fn to_le_bytes(self) -> [u8; 1]
pub const fn to_le_bytes(self) -> [u8; 1]
1.32.0 (const: 1.44.0) · sourcepub const fn to_ne_bytes(self) -> [u8; 1]
pub const fn to_ne_bytes(self) -> [u8; 1]
将此整数的内存表示作为本机字节顺序的字节数组返回。
由于使用了目标平台的原生字节序,因此,可移植代码应酌情使用 to_be_bytes
或 to_le_bytes
。
Examples
let bytes = 0x12u8.to_ne_bytes();
assert_eq!(
bytes,
if cfg!(target_endian = "big") {
[0x12]
} else {
[0x12]
}
);
Run1.32.0 (const: 1.44.0) · sourcepub const fn from_be_bytes(bytes: [u8; 1]) -> Self
pub const fn from_be_bytes(bytes: [u8; 1]) -> Self
根据其表示形式 (大字节序中的字节数组) 创建一个本地字节序整数值。
Examples
let value = u8::from_be_bytes([0x12]);
assert_eq!(value, 0x12);
Run从切片而不是数组开始时,可以使用容易出错的转换 API:
fn read_be_u8(input: &mut &[u8]) -> u8 {
let (int_bytes, rest) = input.split_at(std::mem::size_of::<u8>());
*input = rest;
u8::from_be_bytes(int_bytes.try_into().unwrap())
}
Run1.32.0 (const: 1.44.0) · sourcepub const fn from_le_bytes(bytes: [u8; 1]) -> Self
pub const fn from_le_bytes(bytes: [u8; 1]) -> Self
从它的表示形式以 little endian 的字节数组创建一个本地 endian 整数值。
Examples
let value = u8::from_le_bytes([0x12]);
assert_eq!(value, 0x12);
Run从切片而不是数组开始时,可以使用容易出错的转换 API:
fn read_le_u8(input: &mut &[u8]) -> u8 {
let (int_bytes, rest) = input.split_at(std::mem::size_of::<u8>());
*input = rest;
u8::from_le_bytes(int_bytes.try_into().unwrap())
}
Run1.32.0 (const: 1.44.0) · sourcepub const fn from_ne_bytes(bytes: [u8; 1]) -> Self
pub const fn from_ne_bytes(bytes: [u8; 1]) -> Self
从其内存表示形式以原生字节序形式创建一个原生字节序整数值。
由于使用了目标平台的原生字节序,因此可移植代码可能希望酌情使用 from_be_bytes
或 from_le_bytes
。
Examples
let value = u8::from_ne_bytes(if cfg!(target_endian = "big") {
[0x12]
} else {
[0x12]
});
assert_eq!(value, 0x12);
Run从切片而不是数组开始时,可以使用容易出错的转换 API:
fn read_ne_u8(input: &mut &[u8]) -> u8 {
let (int_bytes, rest) = input.split_at(std::mem::size_of::<u8>());
*input = rest;
u8::from_ne_bytes(int_bytes.try_into().unwrap())
}
Runconst: 1.32.0 · sourcepub const fn min_value() -> Self
👎Deprecating in a future Rust version: replaced by the MIN
associated constant on this type
pub const fn min_value() -> Self
MIN
associated constant on this type新代码应优先使用
u8::MIN
instead.
返回此整数类型可以表示的最小值。
const: 1.32.0 · sourcepub const fn max_value() -> Self
👎Deprecating in a future Rust version: replaced by the MAX
associated constant on this type
pub const fn max_value() -> Self
MAX
associated constant on this type新代码应优先使用
u8::MAX
instead.
返回此整数类型可以表示的最大值。
const: unstable · sourcepub fn widening_mul(self, rhs: Self) -> (Self, Self)
🔬This is a nightly-only experimental API. (bigint_helper_methods
#85532)
pub fn widening_mul(self, rhs: Self) -> (Self, Self)
bigint_helper_methods
#85532)计算完整的产品 self * rhs
,没有溢出的可能性。
这将返回结果的低位 (wrapping) 位和高位 (overflow) 位作为两个单独的值,按该顺序。
如果您还需要在宽结果中添加进位,那么您需要 Self::carrying_mul
。
Examples
基本用法:
请注意,此示例在整数类型之间共享。
这就解释了为什么在这里使用 u32
。
#![feature(bigint_helper_methods)]
assert_eq!(5u32.widening_mul(2), (10, 0));
assert_eq!(1_000_000_000u32.widening_mul(10), (1410065408, 2));
Runconst: unstable · sourcepub fn carrying_mul(self, rhs: Self, carry: Self) -> (Self, Self)
🔬This is a nightly-only experimental API. (bigint_helper_methods
#85532)
pub fn carrying_mul(self, rhs: Self, carry: Self) -> (Self, Self)
bigint_helper_methods
#85532)计算 “full multiplication” self * rhs + carry
而不可能溢出。
这将返回结果的低位 (wrapping) 位和高位 (overflow) 位作为两个单独的值,按该顺序。
执行 “long multiplication”,它需要添加额外的量,并且可能返回额外的溢出量。 这允许将多个乘法链接在一起以创建代表更大值的 “大整数”。
如果您不需要 carry
,那么您可以使用 Self::widening_mul
。
Examples
基本用法:
请注意,此示例在整数类型之间共享。
这就解释了为什么在这里使用 u32
。
#![feature(bigint_helper_methods)]
assert_eq!(5u32.carrying_mul(2, 0), (10, 0));
assert_eq!(5u32.carrying_mul(2, 10), (20, 0));
assert_eq!(1_000_000_000u32.carrying_mul(10, 0), (1410065408, 2));
assert_eq!(1_000_000_000u32.carrying_mul(10, 10), (1410065418, 2));
assert_eq!(u8::MAX.carrying_mul(u8::MAX, u8::MAX), (0, u8::MAX));
RunThis is the core operation needed for scalar multiplication when implementing it for wider-than-native types.
#![feature(bigint_helper_methods)]
fn scalar_mul_eq(little_endian_digits: &mut Vec<u16>, multiplicand: u16) {
let mut carry = 0;
对于 little_endian_digits.iter_mut() { (*d, carry) = d.carrying_mul(multiplicand, carry); } 中的 d 如果进位 != 0 {
little_endian_digits.push(carry);
}
}
let mut v = vec![10, 20];
scalar_mul_eq(&mut v, 3);
assert_eq!(v, [30, 60]);
assert_eq!(0x87654321_u64 * 0xFEED, 0x86D3D159E38D);
let mut v = vec![0x4321, 0x8765];
scalar_mul_eq(&mut v, 0xFEED);
assert_eq!(v, [0xE38D, 0xD159, 0x86D3]);
RunIf carry
is zero, this is similar to overflowing_mul
,
except that it gives the value of the overflow instead of just whether one happened:
#![feature(bigint_helper_methods)]
let r = u8::carrying_mul(7, 13, 0);
assert_eq!((r.0, r.1 != 0), u8::overflowing_mul(7, 13));
let r = u8::carrying_mul(13, 42, 0);
assert_eq!((r.0, r.1 != 0), u8::overflowing_mul(13, 42));
RunThe value of the first field in the returned tuple matches what you’d get
by combining the wrapping_mul
and
wrapping_add
methods:
#![feature(bigint_helper_methods)]
assert_eq!(
789_u16.carrying_mul(456, 123).0, 789_u16.wrapping_mul(456).wrapping_add(123), );
Runconst: unstable · sourcepub fn midpoint(self, rhs: u8) -> u8
🔬This is a nightly-only experimental API. (num_midpoint
#110840)
pub fn midpoint(self, rhs: u8) -> u8
num_midpoint
#110840)sourcepub const fn as_ascii(&self) -> Option<Char>
🔬This is a nightly-only experimental API. (ascii_char
#110998)
pub const fn as_ascii(&self) -> Option<Char>
ascii_char
#110998)如果此字节的值在 ASCII 范围内,则将其作为 ASCII character 返回。
否则,返回 None
。
1.23.0 (const: 1.52.0) · sourcepub const fn to_ascii_uppercase(&self) -> u8
pub const fn to_ascii_uppercase(&self) -> u8
使值的副本等效于其 ASCII 大写字母。
ASCII 字母 ‘a’ 到 ‘z’ 映射到 ‘A’ 到 ‘Z’,但是非 ASCII 字母不变。
要就地将值大写,请使用 make_ascii_uppercase
。
Examples
let lowercase_a = 97u8;
assert_eq!(65, lowercase_a.to_ascii_uppercase());
Run1.23.0 (const: 1.52.0) · sourcepub const fn to_ascii_lowercase(&self) -> u8
pub const fn to_ascii_lowercase(&self) -> u8
以等效的 ASCII 小写形式复制值。
ASCII 字母 ‘A’ 到 ‘Z’ 映射到 ‘a’ 到 ‘z’,但是非 ASCII 字母不变。
要就地小写该值,请使用 make_ascii_lowercase
。
Examples
let uppercase_a = 65u8;
assert_eq!(97, uppercase_a.to_ascii_lowercase());
Run1.23.0 (const: 1.52.0) · sourcepub const fn eq_ignore_ascii_case(&self, other: &u8) -> bool
pub const fn eq_ignore_ascii_case(&self, other: &u8) -> bool
1.23.0 · sourcepub fn make_ascii_uppercase(&mut self)
pub fn make_ascii_uppercase(&mut self)
将此值就地转换为其 ASCII 大写等效项。
ASCII 字母 ‘a’ 到 ‘z’ 映射到 ‘A’ 到 ‘Z’,但是非 ASCII 字母不变。
要返回新的大写值而不修改现有值,请使用 to_ascii_uppercase
。
Examples
let mut byte = b'a';
byte.make_ascii_uppercase();
assert_eq!(b'A', byte);
Run1.23.0 · sourcepub fn make_ascii_lowercase(&mut self)
pub fn make_ascii_lowercase(&mut self)
将此值就地转换为其 ASCII 小写等效项。
ASCII 字母 ‘A’ 到 ‘Z’ 映射到 ‘a’ 到 ‘z’,但是非 ASCII 字母不变。
要返回新的小写值而不修改现有值,请使用 to_ascii_lowercase
。
Examples
let mut byte = b'A';
byte.make_ascii_lowercase();
assert_eq!(b'a', byte);
Run1.24.0 (const: 1.47.0) · sourcepub const fn is_ascii_alphabetic(&self) -> bool
pub const fn is_ascii_alphabetic(&self) -> bool
检查值是否为 ASCII 字母字符:
- U+0041 ‘A’ ..= U+005A ‘Z’, or
- U+0061 ‘a’ ..= U+007A ‘z’.
Examples
let uppercase_a = b'A';
let uppercase_g = b'G';
let a = b'a';
let g = b'g';
let zero = b'0';
let percent = b'%';
let space = b' ';
let lf = b'\n';
let esc = b'\x1b';
assert!(uppercase_a.is_ascii_alphabetic());
assert!(uppercase_g.is_ascii_alphabetic());
assert!(a.is_ascii_alphabetic());
assert!(g.is_ascii_alphabetic());
assert!(!zero.is_ascii_alphabetic());
assert!(!percent.is_ascii_alphabetic());
assert!(!space.is_ascii_alphabetic());
assert!(!lf.is_ascii_alphabetic());
assert!(!esc.is_ascii_alphabetic());
Run1.24.0 (const: 1.47.0) · sourcepub const fn is_ascii_uppercase(&self) -> bool
pub const fn is_ascii_uppercase(&self) -> bool
检查值是否为 ASCII 大写字符: U+0041 ‘A’ ..= U+005A ‘Z’.
Examples
let uppercase_a = b'A';
let uppercase_g = b'G';
let a = b'a';
let g = b'g';
let zero = b'0';
let percent = b'%';
let space = b' ';
let lf = b'\n';
let esc = b'\x1b';
assert!(uppercase_a.is_ascii_uppercase());
assert!(uppercase_g.is_ascii_uppercase());
assert!(!a.is_ascii_uppercase());
assert!(!g.is_ascii_uppercase());
assert!(!zero.is_ascii_uppercase());
assert!(!percent.is_ascii_uppercase());
assert!(!space.is_ascii_uppercase());
assert!(!lf.is_ascii_uppercase());
assert!(!esc.is_ascii_uppercase());
Run1.24.0 (const: 1.47.0) · sourcepub const fn is_ascii_lowercase(&self) -> bool
pub const fn is_ascii_lowercase(&self) -> bool
检查值是否为 ASCII 小写字符: U+0061 ‘a’ ..= U+007A ‘z’.
Examples
let uppercase_a = b'A';
let uppercase_g = b'G';
let a = b'a';
let g = b'g';
let zero = b'0';
let percent = b'%';
let space = b' ';
let lf = b'\n';
let esc = b'\x1b';
assert!(!uppercase_a.is_ascii_lowercase());
assert!(!uppercase_g.is_ascii_lowercase());
assert!(a.is_ascii_lowercase());
assert!(g.is_ascii_lowercase());
assert!(!zero.is_ascii_lowercase());
assert!(!percent.is_ascii_lowercase());
assert!(!space.is_ascii_lowercase());
assert!(!lf.is_ascii_lowercase());
assert!(!esc.is_ascii_lowercase());
Run1.24.0 (const: 1.47.0) · sourcepub const fn is_ascii_alphanumeric(&self) -> bool
pub const fn is_ascii_alphanumeric(&self) -> bool
检查值是否为 ASCII 字母数字字符:
- U+0041 ‘A’ ..= U+005A ‘Z’, or
- U+0061 ‘a’ ..= U+007A ‘z’, or
- U+0030 ‘0’ ..= U+0039 ‘9’.
Examples
let uppercase_a = b'A';
let uppercase_g = b'G';
let a = b'a';
let g = b'g';
let zero = b'0';
let percent = b'%';
let space = b' ';
let lf = b'\n';
let esc = b'\x1b';
assert!(uppercase_a.is_ascii_alphanumeric());
assert!(uppercase_g.is_ascii_alphanumeric());
assert!(a.is_ascii_alphanumeric());
assert!(g.is_ascii_alphanumeric());
assert!(zero.is_ascii_alphanumeric());
assert!(!percent.is_ascii_alphanumeric());
assert!(!space.is_ascii_alphanumeric());
assert!(!lf.is_ascii_alphanumeric());
assert!(!esc.is_ascii_alphanumeric());
Run1.24.0 (const: 1.47.0) · sourcepub const fn is_ascii_digit(&self) -> bool
pub const fn is_ascii_digit(&self) -> bool
检查值是否为 ASCII 十进制数字: U+0030 ‘0’ ..= U+0039 ‘9’.
Examples
let uppercase_a = b'A';
let uppercase_g = b'G';
let a = b'a';
let g = b'g';
let zero = b'0';
let percent = b'%';
let space = b' ';
let lf = b'\n';
let esc = b'\x1b';
assert!(!uppercase_a.is_ascii_digit());
assert!(!uppercase_g.is_ascii_digit());
assert!(!a.is_ascii_digit());
assert!(!g.is_ascii_digit());
assert!(zero.is_ascii_digit());
assert!(!percent.is_ascii_digit());
assert!(!space.is_ascii_digit());
assert!(!lf.is_ascii_digit());
assert!(!esc.is_ascii_digit());
Runconst: unstable · sourcepub fn is_ascii_octdigit(&self) -> bool
🔬This is a nightly-only experimental API. (is_ascii_octdigit
#101288)
pub fn is_ascii_octdigit(&self) -> bool
is_ascii_octdigit
#101288)检查值是否为 ASCII 八进制数字: U+0030 ‘0’ ..= U+0037 ‘7’.
Examples
#![feature(is_ascii_octdigit)]
let uppercase_a = b'A';
let a = b'a';
let zero = b'0';
let seven = b'7';
let nine = b'9';
let percent = b'%';
let lf = b'\n';
assert!(!uppercase_a.is_ascii_octdigit());
assert!(!a.is_ascii_octdigit());
assert!(zero.is_ascii_octdigit());
assert!(seven.is_ascii_octdigit());
assert!(!nine.is_ascii_octdigit());
assert!(!percent.is_ascii_octdigit());
assert!(!lf.is_ascii_octdigit());
Run1.24.0 (const: 1.47.0) · sourcepub const fn is_ascii_hexdigit(&self) -> bool
pub const fn is_ascii_hexdigit(&self) -> bool
检查值是否为 ASCII 十六进制数字:
- U+0030 ‘0’ ..= U+0039 ‘9’, or
- U+0041 ‘A’ ..= U+0046 ‘F’, or
- U+0061 ‘a’ ..= U+0066 ‘f’.
Examples
let uppercase_a = b'A';
let uppercase_g = b'G';
let a = b'a';
let g = b'g';
let zero = b'0';
let percent = b'%';
let space = b' ';
let lf = b'\n';
let esc = b'\x1b';
assert!(uppercase_a.is_ascii_hexdigit());
assert!(!uppercase_g.is_ascii_hexdigit());
assert!(a.is_ascii_hexdigit());
assert!(!g.is_ascii_hexdigit());
assert!(zero.is_ascii_hexdigit());
assert!(!percent.is_ascii_hexdigit());
assert!(!space.is_ascii_hexdigit());
assert!(!lf.is_ascii_hexdigit());
assert!(!esc.is_ascii_hexdigit());
Run1.24.0 (const: 1.47.0) · sourcepub const fn is_ascii_punctuation(&self) -> bool
pub const fn is_ascii_punctuation(&self) -> bool
检查值是否为 ASCII 标点符号:
- U+0021 ..= U+002F
! " # $ % & ' ( ) * + , - . /
, or - U+003A ..= U+0040
: ; < = > ? @
, or - U+005B ..= U+0060
[ \ ] ^ _ `
,或 - U+007B ..= U+007E
{ | } ~
Examples
let uppercase_a = b'A';
let uppercase_g = b'G';
let a = b'a';
let g = b'g';
let zero = b'0';
let percent = b'%';
let space = b' ';
let lf = b'\n';
let esc = b'\x1b';
assert!(!uppercase_a.is_ascii_punctuation());
assert!(!uppercase_g.is_ascii_punctuation());
assert!(!a.is_ascii_punctuation());
assert!(!g.is_ascii_punctuation());
assert!(!zero.is_ascii_punctuation());
assert!(percent.is_ascii_punctuation());
assert!(!space.is_ascii_punctuation());
assert!(!lf.is_ascii_punctuation());
assert!(!esc.is_ascii_punctuation());
Run1.24.0 (const: 1.47.0) · sourcepub const fn is_ascii_graphic(&self) -> bool
pub const fn is_ascii_graphic(&self) -> bool
检查值是否为 ASCII 图形字符: U+0021 ‘!’ ..= U+007E ‘~’.
Examples
let uppercase_a = b'A';
let uppercase_g = b'G';
let a = b'a';
let g = b'g';
let zero = b'0';
let percent = b'%';
let space = b' ';
let lf = b'\n';
let esc = b'\x1b';
assert!(uppercase_a.is_ascii_graphic());
assert!(uppercase_g.is_ascii_graphic());
assert!(a.is_ascii_graphic());
assert!(g.is_ascii_graphic());
assert!(zero.is_ascii_graphic());
assert!(percent.is_ascii_graphic());
assert!(!space.is_ascii_graphic());
assert!(!lf.is_ascii_graphic());
assert!(!esc.is_ascii_graphic());
Run1.24.0 (const: 1.47.0) · sourcepub const fn is_ascii_whitespace(&self) -> bool
pub const fn is_ascii_whitespace(&self) -> bool
检查值是否为 ASCII 空格字符: U+0020 空格、U+0009 水平制表符、U+000A 换行、U+000C 换页或 U+000D 回车。
Rust 使用 WhatWG 基础标准的 ASCII 空格的定义。还有其他几种广泛使用的定义。 例如,POSIX 语言环境 包括 U+000B 垂直标签以及所有上述字符,但是 - 从相同的规格来看 -Bourne shell 中 “field splitting” 的默认规则 仅考虑空格,水平标签和 LINE FEED 作为空白。
如果要编写将处理现有文件格式的程序,请在使用此函数之前检查该格式的空格定义。
Examples
let uppercase_a = b'A';
let uppercase_g = b'G';
let a = b'a';
let g = b'g';
let zero = b'0';
let percent = b'%';
let space = b' ';
let lf = b'\n';
let esc = b'\x1b';
assert!(!uppercase_a.is_ascii_whitespace());
assert!(!uppercase_g.is_ascii_whitespace());
assert!(!a.is_ascii_whitespace());
assert!(!g.is_ascii_whitespace());
assert!(!zero.is_ascii_whitespace());
assert!(!percent.is_ascii_whitespace());
assert!(space.is_ascii_whitespace());
assert!(lf.is_ascii_whitespace());
assert!(!esc.is_ascii_whitespace());
Run1.24.0 (const: 1.47.0) · sourcepub const fn is_ascii_control(&self) -> bool
pub const fn is_ascii_control(&self) -> bool
检查值是否为 ASCII 控制字符: U+0000 NUL ..= U+001F 单元分隔符,或 U+007F 删除。 请注意,大多数 ASCII 空格字符是控制字符,而 SPACE 不是。
Examples
let uppercase_a = b'A';
let uppercase_g = b'G';
let a = b'a';
let g = b'g';
let zero = b'0';
let percent = b'%';
let space = b' ';
let lf = b'\n';
let esc = b'\x1b';
assert!(!uppercase_a.is_ascii_control());
assert!(!uppercase_g.is_ascii_control());
assert!(!a.is_ascii_control());
assert!(!g.is_ascii_control());
assert!(!zero.is_ascii_control());
assert!(!percent.is_ascii_control());
assert!(!space.is_ascii_control());
assert!(lf.is_ascii_control());
assert!(esc.is_ascii_control());
Run1.60.0 · sourcepub fn escape_ascii(self) -> EscapeDefault ⓘ
pub fn escape_ascii(self) -> EscapeDefault ⓘ
返回生成 u8
的转义版本的迭代器,将其视为 ASCII 字符。
行为与 ascii::escape_default
相同。
Examples
assert_eq!("0", b'0'.escape_ascii().to_string());
assert_eq!("\\t", b'\t'.escape_ascii().to_string());
assert_eq!("\\r", b'\r'.escape_ascii().to_string());
assert_eq!("\\n", b'\n'.escape_ascii().to_string());
assert_eq!("\\'", b'\''.escape_ascii().to_string());
assert_eq!("\\\"", b'"'.escape_ascii().to_string());
assert_eq!("\\\\", b'\\'.escape_ascii().to_string());
assert_eq!("\\x9d", b'\x9d'.escape_ascii().to_string());
RunTrait Implementations§
1.22.0 · source§impl AddAssign<&u8> for Saturating<u8>
impl AddAssign<&u8> for Saturating<u8>
source§fn add_assign(&mut self, other: &u8)
fn add_assign(&mut self, other: &u8)
+=
操作。 Read more1.22.0 · source§impl AddAssign<&u8> for Wrapping<u8>
impl AddAssign<&u8> for Wrapping<u8>
source§fn add_assign(&mut self, other: &u8)
fn add_assign(&mut self, other: &u8)
+=
操作。 Read more1.22.0 · source§impl AddAssign<&u8> for u8
impl AddAssign<&u8> for u8
source§fn add_assign(&mut self, other: &u8)
fn add_assign(&mut self, other: &u8)
+=
操作。 Read moresource§impl AddAssign<u8> for Saturating<u8>
impl AddAssign<u8> for Saturating<u8>
source§fn add_assign(&mut self, other: u8)
fn add_assign(&mut self, other: u8)
+=
操作。 Read more1.60.0 · source§impl AddAssign<u8> for Wrapping<u8>
impl AddAssign<u8> for Wrapping<u8>
source§fn add_assign(&mut self, other: u8)
fn add_assign(&mut self, other: u8)
+=
操作。 Read more1.8.0 · source§impl AddAssign<u8> for u8
impl AddAssign<u8> for u8
source§fn add_assign(&mut self, other: u8)
fn add_assign(&mut self, other: u8)
+=
操作。 Read more1.22.0 · source§impl BitAndAssign<&u8> for Saturating<u8>
impl BitAndAssign<&u8> for Saturating<u8>
source§fn bitand_assign(&mut self, other: &u8)
fn bitand_assign(&mut self, other: &u8)
&=
操作。 Read more1.22.0 · source§impl BitAndAssign<&u8> for Wrapping<u8>
impl BitAndAssign<&u8> for Wrapping<u8>
source§fn bitand_assign(&mut self, other: &u8)
fn bitand_assign(&mut self, other: &u8)
&=
操作。 Read more1.22.0 · source§impl BitAndAssign<&u8> for u8
impl BitAndAssign<&u8> for u8
source§fn bitand_assign(&mut self, other: &u8)
fn bitand_assign(&mut self, other: &u8)
&=
操作。 Read moresource§impl BitAndAssign<u8> for Saturating<u8>
impl BitAndAssign<u8> for Saturating<u8>
source§fn bitand_assign(&mut self, other: u8)
fn bitand_assign(&mut self, other: u8)
&=
操作。 Read more1.60.0 · source§impl BitAndAssign<u8> for Wrapping<u8>
impl BitAndAssign<u8> for Wrapping<u8>
source§fn bitand_assign(&mut self, other: u8)
fn bitand_assign(&mut self, other: u8)
&=
操作。 Read more1.8.0 · source§impl BitAndAssign<u8> for u8
impl BitAndAssign<u8> for u8
source§fn bitand_assign(&mut self, other: u8)
fn bitand_assign(&mut self, other: u8)
&=
操作。 Read more1.22.0 · source§impl BitOrAssign<&u8> for Saturating<u8>
impl BitOrAssign<&u8> for Saturating<u8>
source§fn bitor_assign(&mut self, other: &u8)
fn bitor_assign(&mut self, other: &u8)
|=
操作。 Read more1.22.0 · source§impl BitOrAssign<&u8> for Wrapping<u8>
impl BitOrAssign<&u8> for Wrapping<u8>
source§fn bitor_assign(&mut self, other: &u8)
fn bitor_assign(&mut self, other: &u8)
|=
操作。 Read more1.22.0 · source§impl BitOrAssign<&u8> for u8
impl BitOrAssign<&u8> for u8
source§fn bitor_assign(&mut self, other: &u8)
fn bitor_assign(&mut self, other: &u8)
|=
操作。 Read more1.45.0 · source§impl BitOrAssign<u8> for NonZeroU8
impl BitOrAssign<u8> for NonZeroU8
source§fn bitor_assign(&mut self, rhs: u8)
fn bitor_assign(&mut self, rhs: u8)
|=
操作。 Read moresource§impl BitOrAssign<u8> for Saturating<u8>
impl BitOrAssign<u8> for Saturating<u8>
source§fn bitor_assign(&mut self, other: u8)
fn bitor_assign(&mut self, other: u8)
|=
操作。 Read more1.60.0 · source§impl BitOrAssign<u8> for Wrapping<u8>
impl BitOrAssign<u8> for Wrapping<u8>
source§fn bitor_assign(&mut self, other: u8)
fn bitor_assign(&mut self, other: u8)
|=
操作。 Read more1.8.0 · source§impl BitOrAssign<u8> for u8
impl BitOrAssign<u8> for u8
source§fn bitor_assign(&mut self, other: u8)
fn bitor_assign(&mut self, other: u8)
|=
操作。 Read more1.22.0 · source§impl BitXorAssign<&u8> for Saturating<u8>
impl BitXorAssign<&u8> for Saturating<u8>
source§fn bitxor_assign(&mut self, other: &u8)
fn bitxor_assign(&mut self, other: &u8)
^=
操作。 Read more1.22.0 · source§impl BitXorAssign<&u8> for Wrapping<u8>
impl BitXorAssign<&u8> for Wrapping<u8>
source§fn bitxor_assign(&mut self, other: &u8)
fn bitxor_assign(&mut self, other: &u8)
^=
操作。 Read more1.22.0 · source§impl BitXorAssign<&u8> for u8
impl BitXorAssign<&u8> for u8
source§fn bitxor_assign(&mut self, other: &u8)
fn bitxor_assign(&mut self, other: &u8)
^=
操作。 Read moresource§impl BitXorAssign<u8> for Saturating<u8>
impl BitXorAssign<u8> for Saturating<u8>
source§fn bitxor_assign(&mut self, other: u8)
fn bitxor_assign(&mut self, other: u8)
^=
操作。 Read more1.60.0 · source§impl BitXorAssign<u8> for Wrapping<u8>
impl BitXorAssign<u8> for Wrapping<u8>
source§fn bitxor_assign(&mut self, other: u8)
fn bitxor_assign(&mut self, other: u8)
^=
操作。 Read more1.8.0 · source§impl BitXorAssign<u8> for u8
impl BitXorAssign<u8> for u8
source§fn bitxor_assign(&mut self, other: u8)
fn bitxor_assign(&mut self, other: u8)
^=
操作。 Read more1.22.0 · source§impl DivAssign<&u8> for Saturating<u8>
impl DivAssign<&u8> for Saturating<u8>
source§fn div_assign(&mut self, other: &u8)
fn div_assign(&mut self, other: &u8)
/=
操作。 Read more1.22.0 · source§impl DivAssign<&u8> for Wrapping<u8>
impl DivAssign<&u8> for Wrapping<u8>
source§fn div_assign(&mut self, other: &u8)
fn div_assign(&mut self, other: &u8)
/=
操作。 Read more1.22.0 · source§impl DivAssign<&u8> for u8
impl DivAssign<&u8> for u8
source§fn div_assign(&mut self, other: &u8)
fn div_assign(&mut self, other: &u8)
/=
操作。 Read moresource§impl DivAssign<u8> for Saturating<u8>
impl DivAssign<u8> for Saturating<u8>
source§fn div_assign(&mut self, other: u8)
fn div_assign(&mut self, other: u8)
/=
操作。 Read more1.60.0 · source§impl DivAssign<u8> for Wrapping<u8>
impl DivAssign<u8> for Wrapping<u8>
source§fn div_assign(&mut self, other: u8)
fn div_assign(&mut self, other: u8)
/=
操作。 Read more1.8.0 · source§impl DivAssign<u8> for u8
impl DivAssign<u8> for u8
source§fn div_assign(&mut self, other: u8)
fn div_assign(&mut self, other: u8)
/=
操作。 Read more1.13.0 · source§impl From<u8> for char
impl From<u8> for char
将 0x00..=0xFF 中的字节映射到 char
,该 char
的代码点具有相同的值,即 U+0000..=U+00FF。
Unicode 的设计使其可以使用 IANA 称为 ISO-8859-1 的字符编码有效地解码字节。 此编码与 ASCII 兼容。
请注意,这与 ISO/IEC 8859-1 又名不同 ISO 8859-1 (连字符少一个),它留下了一些 “blanks” 字节值,这些值未分配给任何字符。 ISO-8859-1 (属于 IANA) 将它们分配给 C0 和 C1 控制代码。
请注意,这也与 Windows-1252 也不同 代码页 1252,它是 ISO/IEC 8859-1 的超集,它为标点符号和各种拉丁字符分配了一些 (不是全部) 空格。
为了进一步混淆,在 Web 上 ascii
,iso-8859-1
和 windows-1252
都是 Windows-1252 超集的别名,该超集用相应的 C0 和 C1 控制代码填充了其余的空白。
1.22.0 · source§impl MulAssign<&u8> for Saturating<u8>
impl MulAssign<&u8> for Saturating<u8>
source§fn mul_assign(&mut self, other: &u8)
fn mul_assign(&mut self, other: &u8)
*=
操作。 Read more1.22.0 · source§impl MulAssign<&u8> for Wrapping<u8>
impl MulAssign<&u8> for Wrapping<u8>
source§fn mul_assign(&mut self, other: &u8)
fn mul_assign(&mut self, other: &u8)
*=
操作。 Read more1.22.0 · source§impl MulAssign<&u8> for u8
impl MulAssign<&u8> for u8
source§fn mul_assign(&mut self, other: &u8)
fn mul_assign(&mut self, other: &u8)
*=
操作。 Read moresource§impl MulAssign<u8> for Saturating<u8>
impl MulAssign<u8> for Saturating<u8>
source§fn mul_assign(&mut self, other: u8)
fn mul_assign(&mut self, other: u8)
*=
操作。 Read more1.60.0 · source§impl MulAssign<u8> for Wrapping<u8>
impl MulAssign<u8> for Wrapping<u8>
source§fn mul_assign(&mut self, other: u8)
fn mul_assign(&mut self, other: u8)
*=
操作。 Read more1.8.0 · source§impl MulAssign<u8> for u8
impl MulAssign<u8> for u8
source§fn mul_assign(&mut self, other: u8)
fn mul_assign(&mut self, other: u8)
*=
操作。 Read more1.22.0 · source§impl RemAssign<&u8> for Saturating<u8>
impl RemAssign<&u8> for Saturating<u8>
source§fn rem_assign(&mut self, other: &u8)
fn rem_assign(&mut self, other: &u8)
%=
操作。 Read more1.22.0 · source§impl RemAssign<&u8> for Wrapping<u8>
impl RemAssign<&u8> for Wrapping<u8>
source§fn rem_assign(&mut self, other: &u8)
fn rem_assign(&mut self, other: &u8)
%=
操作。 Read more1.22.0 · source§impl RemAssign<&u8> for u8
impl RemAssign<&u8> for u8
source§fn rem_assign(&mut self, other: &u8)
fn rem_assign(&mut self, other: &u8)
%=
操作。 Read moresource§impl RemAssign<u8> for Saturating<u8>
impl RemAssign<u8> for Saturating<u8>
source§fn rem_assign(&mut self, other: u8)
fn rem_assign(&mut self, other: u8)
%=
操作。 Read more1.60.0 · source§impl RemAssign<u8> for Wrapping<u8>
impl RemAssign<u8> for Wrapping<u8>
source§fn rem_assign(&mut self, other: u8)
fn rem_assign(&mut self, other: u8)
%=
操作。 Read more1.8.0 · source§impl RemAssign<u8> for u8
impl RemAssign<u8> for u8
source§fn rem_assign(&mut self, other: u8)
fn rem_assign(&mut self, other: u8)
%=
操作。 Read more1.22.0 · source§impl ShlAssign<&i128> for u8
impl ShlAssign<&i128> for u8
source§fn shl_assign(&mut self, other: &i128)
fn shl_assign(&mut self, other: &i128)
<<=
操作。 Read more1.22.0 · source§impl ShlAssign<&i16> for u8
impl ShlAssign<&i16> for u8
source§fn shl_assign(&mut self, other: &i16)
fn shl_assign(&mut self, other: &i16)
<<=
操作。 Read more1.22.0 · source§impl ShlAssign<&i32> for u8
impl ShlAssign<&i32> for u8
source§fn shl_assign(&mut self, other: &i32)
fn shl_assign(&mut self, other: &i32)
<<=
操作。 Read more1.22.0 · source§impl ShlAssign<&i64> for u8
impl ShlAssign<&i64> for u8
source§fn shl_assign(&mut self, other: &i64)
fn shl_assign(&mut self, other: &i64)
<<=
操作。 Read more1.22.0 · source§impl ShlAssign<&i8> for u8
impl ShlAssign<&i8> for u8
source§fn shl_assign(&mut self, other: &i8)
fn shl_assign(&mut self, other: &i8)
<<=
操作。 Read more1.22.0 · source§impl ShlAssign<&isize> for u8
impl ShlAssign<&isize> for u8
source§fn shl_assign(&mut self, other: &isize)
fn shl_assign(&mut self, other: &isize)
<<=
操作。 Read more1.22.0 · source§impl ShlAssign<&u128> for u8
impl ShlAssign<&u128> for u8
source§fn shl_assign(&mut self, other: &u128)
fn shl_assign(&mut self, other: &u128)
<<=
操作。 Read more1.22.0 · source§impl ShlAssign<&u16> for u8
impl ShlAssign<&u16> for u8
source§fn shl_assign(&mut self, other: &u16)
fn shl_assign(&mut self, other: &u16)
<<=
操作。 Read more1.22.0 · source§impl ShlAssign<&u32> for u8
impl ShlAssign<&u32> for u8
source§fn shl_assign(&mut self, other: &u32)
fn shl_assign(&mut self, other: &u32)
<<=
操作。 Read more1.22.0 · source§impl ShlAssign<&u64> for u8
impl ShlAssign<&u64> for u8
source§fn shl_assign(&mut self, other: &u64)
fn shl_assign(&mut self, other: &u64)
<<=
操作。 Read more1.22.0 · source§impl ShlAssign<&u8> for i128
impl ShlAssign<&u8> for i128
source§fn shl_assign(&mut self, other: &u8)
fn shl_assign(&mut self, other: &u8)
<<=
操作。 Read more1.22.0 · source§impl ShlAssign<&u8> for i16
impl ShlAssign<&u8> for i16
source§fn shl_assign(&mut self, other: &u8)
fn shl_assign(&mut self, other: &u8)
<<=
操作。 Read more1.22.0 · source§impl ShlAssign<&u8> for i32
impl ShlAssign<&u8> for i32
source§fn shl_assign(&mut self, other: &u8)
fn shl_assign(&mut self, other: &u8)
<<=
操作。 Read more1.22.0 · source§impl ShlAssign<&u8> for i64
impl ShlAssign<&u8> for i64
source§fn shl_assign(&mut self, other: &u8)
fn shl_assign(&mut self, other: &u8)
<<=
操作。 Read more1.22.0 · source§impl ShlAssign<&u8> for i8
impl ShlAssign<&u8> for i8
source§fn shl_assign(&mut self, other: &u8)
fn shl_assign(&mut self, other: &u8)
<<=
操作。 Read more1.22.0 · source§impl ShlAssign<&u8> for isize
impl ShlAssign<&u8> for isize
source§fn shl_assign(&mut self, other: &u8)
fn shl_assign(&mut self, other: &u8)
<<=
操作。 Read more1.22.0 · source§impl ShlAssign<&u8> for u128
impl ShlAssign<&u8> for u128
source§fn shl_assign(&mut self, other: &u8)
fn shl_assign(&mut self, other: &u8)
<<=
操作。 Read more1.22.0 · source§impl ShlAssign<&u8> for u16
impl ShlAssign<&u8> for u16
source§fn shl_assign(&mut self, other: &u8)
fn shl_assign(&mut self, other: &u8)
<<=
操作。 Read more1.22.0 · source§impl ShlAssign<&u8> for u32
impl ShlAssign<&u8> for u32
source§fn shl_assign(&mut self, other: &u8)
fn shl_assign(&mut self, other: &u8)
<<=
操作。 Read more1.22.0 · source§impl ShlAssign<&u8> for u64
impl ShlAssign<&u8> for u64
source§fn shl_assign(&mut self, other: &u8)
fn shl_assign(&mut self, other: &u8)
<<=
操作。 Read more1.22.0 · source§impl ShlAssign<&u8> for u8
impl ShlAssign<&u8> for u8
source§fn shl_assign(&mut self, other: &u8)
fn shl_assign(&mut self, other: &u8)
<<=
操作。 Read more1.22.0 · source§impl ShlAssign<&u8> for usize
impl ShlAssign<&u8> for usize
source§fn shl_assign(&mut self, other: &u8)
fn shl_assign(&mut self, other: &u8)
<<=
操作。 Read more1.22.0 · source§impl ShlAssign<&usize> for u8
impl ShlAssign<&usize> for u8
source§fn shl_assign(&mut self, other: &usize)
fn shl_assign(&mut self, other: &usize)
<<=
操作。 Read more1.8.0 · source§impl ShlAssign<i128> for u8
impl ShlAssign<i128> for u8
source§fn shl_assign(&mut self, other: i128)
fn shl_assign(&mut self, other: i128)
<<=
操作。 Read more1.8.0 · source§impl ShlAssign<i16> for u8
impl ShlAssign<i16> for u8
source§fn shl_assign(&mut self, other: i16)
fn shl_assign(&mut self, other: i16)
<<=
操作。 Read more1.8.0 · source§impl ShlAssign<i32> for u8
impl ShlAssign<i32> for u8
source§fn shl_assign(&mut self, other: i32)
fn shl_assign(&mut self, other: i32)
<<=
操作。 Read more1.8.0 · source§impl ShlAssign<i64> for u8
impl ShlAssign<i64> for u8
source§fn shl_assign(&mut self, other: i64)
fn shl_assign(&mut self, other: i64)
<<=
操作。 Read more1.8.0 · source§impl ShlAssign<i8> for u8
impl ShlAssign<i8> for u8
source§fn shl_assign(&mut self, other: i8)
fn shl_assign(&mut self, other: i8)
<<=
操作。 Read more1.8.0 · source§impl ShlAssign<isize> for u8
impl ShlAssign<isize> for u8
source§fn shl_assign(&mut self, other: isize)
fn shl_assign(&mut self, other: isize)
<<=
操作。 Read more1.8.0 · source§impl ShlAssign<u128> for u8
impl ShlAssign<u128> for u8
source§fn shl_assign(&mut self, other: u128)
fn shl_assign(&mut self, other: u128)
<<=
操作。 Read more1.8.0 · source§impl ShlAssign<u16> for u8
impl ShlAssign<u16> for u8
source§fn shl_assign(&mut self, other: u16)
fn shl_assign(&mut self, other: u16)
<<=
操作。 Read more1.8.0 · source§impl ShlAssign<u32> for u8
impl ShlAssign<u32> for u8
source§fn shl_assign(&mut self, other: u32)
fn shl_assign(&mut self, other: u32)
<<=
操作。 Read more1.8.0 · source§impl ShlAssign<u64> for u8
impl ShlAssign<u64> for u8
source§fn shl_assign(&mut self, other: u64)
fn shl_assign(&mut self, other: u64)
<<=
操作。 Read more1.8.0 · source§impl ShlAssign<u8> for i128
impl ShlAssign<u8> for i128
source§fn shl_assign(&mut self, other: u8)
fn shl_assign(&mut self, other: u8)
<<=
操作。 Read more1.8.0 · source§impl ShlAssign<u8> for i16
impl ShlAssign<u8> for i16
source§fn shl_assign(&mut self, other: u8)
fn shl_assign(&mut self, other: u8)
<<=
操作。 Read more1.8.0 · source§impl ShlAssign<u8> for i32
impl ShlAssign<u8> for i32
source§fn shl_assign(&mut self, other: u8)
fn shl_assign(&mut self, other: u8)
<<=
操作。 Read more1.8.0 · source§impl ShlAssign<u8> for i64
impl ShlAssign<u8> for i64
source§fn shl_assign(&mut self, other: u8)
fn shl_assign(&mut self, other: u8)
<<=
操作。 Read more1.8.0 · source§impl ShlAssign<u8> for i8
impl ShlAssign<u8> for i8
source§fn shl_assign(&mut self, other: u8)
fn shl_assign(&mut self, other: u8)
<<=
操作。 Read more1.8.0 · source§impl ShlAssign<u8> for isize
impl ShlAssign<u8> for isize
source§fn shl_assign(&mut self, other: u8)
fn shl_assign(&mut self, other: u8)
<<=
操作。 Read more1.8.0 · source§impl ShlAssign<u8> for u128
impl ShlAssign<u8> for u128
source§fn shl_assign(&mut self, other: u8)
fn shl_assign(&mut self, other: u8)
<<=
操作。 Read more1.8.0 · source§impl ShlAssign<u8> for u16
impl ShlAssign<u8> for u16
source§fn shl_assign(&mut self, other: u8)
fn shl_assign(&mut self, other: u8)
<<=
操作。 Read more1.8.0 · source§impl ShlAssign<u8> for u32
impl ShlAssign<u8> for u32
source§fn shl_assign(&mut self, other: u8)
fn shl_assign(&mut self, other: u8)
<<=
操作。 Read more1.8.0 · source§impl ShlAssign<u8> for u64
impl ShlAssign<u8> for u64
source§fn shl_assign(&mut self, other: u8)
fn shl_assign(&mut self, other: u8)
<<=
操作。 Read more1.8.0 · source§impl ShlAssign<u8> for u8
impl ShlAssign<u8> for u8
source§fn shl_assign(&mut self, other: u8)
fn shl_assign(&mut self, other: u8)
<<=
操作。 Read more1.8.0 · source§impl ShlAssign<u8> for usize
impl ShlAssign<u8> for usize
source§fn shl_assign(&mut self, other: u8)
fn shl_assign(&mut self, other: u8)
<<=
操作。 Read more1.8.0 · source§impl ShlAssign<usize> for u8
impl ShlAssign<usize> for u8
source§fn shl_assign(&mut self, other: usize)
fn shl_assign(&mut self, other: usize)
<<=
操作。 Read more1.22.0 · source§impl ShrAssign<&i128> for u8
impl ShrAssign<&i128> for u8
source§fn shr_assign(&mut self, other: &i128)
fn shr_assign(&mut self, other: &i128)
>>=
操作。 Read more1.22.0 · source§impl ShrAssign<&i16> for u8
impl ShrAssign<&i16> for u8
source§fn shr_assign(&mut self, other: &i16)
fn shr_assign(&mut self, other: &i16)
>>=
操作。 Read more1.22.0 · source§impl ShrAssign<&i32> for u8
impl ShrAssign<&i32> for u8
source§fn shr_assign(&mut self, other: &i32)
fn shr_assign(&mut self, other: &i32)
>>=
操作。 Read more1.22.0 · source§impl ShrAssign<&i64> for u8
impl ShrAssign<&i64> for u8
source§fn shr_assign(&mut self, other: &i64)
fn shr_assign(&mut self, other: &i64)
>>=
操作。 Read more1.22.0 · source§impl ShrAssign<&i8> for u8
impl ShrAssign<&i8> for u8
source§fn shr_assign(&mut self, other: &i8)
fn shr_assign(&mut self, other: &i8)
>>=
操作。 Read more1.22.0 · source§impl ShrAssign<&isize> for u8
impl ShrAssign<&isize> for u8
source§fn shr_assign(&mut self, other: &isize)
fn shr_assign(&mut self, other: &isize)
>>=
操作。 Read more1.22.0 · source§impl ShrAssign<&u128> for u8
impl ShrAssign<&u128> for u8
source§fn shr_assign(&mut self, other: &u128)
fn shr_assign(&mut self, other: &u128)
>>=
操作。 Read more1.22.0 · source§impl ShrAssign<&u16> for u8
impl ShrAssign<&u16> for u8
source§fn shr_assign(&mut self, other: &u16)
fn shr_assign(&mut self, other: &u16)
>>=
操作。 Read more1.22.0 · source§impl ShrAssign<&u32> for u8
impl ShrAssign<&u32> for u8
source§fn shr_assign(&mut self, other: &u32)
fn shr_assign(&mut self, other: &u32)
>>=
操作。 Read more1.22.0 · source§impl ShrAssign<&u64> for u8
impl ShrAssign<&u64> for u8
source§fn shr_assign(&mut self, other: &u64)
fn shr_assign(&mut self, other: &u64)
>>=
操作。 Read more1.22.0 · source§impl ShrAssign<&u8> for i128
impl ShrAssign<&u8> for i128
source§fn shr_assign(&mut self, other: &u8)
fn shr_assign(&mut self, other: &u8)
>>=
操作。 Read more1.22.0 · source§impl ShrAssign<&u8> for i16
impl ShrAssign<&u8> for i16
source§fn shr_assign(&mut self, other: &u8)
fn shr_assign(&mut self, other: &u8)
>>=
操作。 Read more1.22.0 · source§impl ShrAssign<&u8> for i32
impl ShrAssign<&u8> for i32
source§fn shr_assign(&mut self, other: &u8)
fn shr_assign(&mut self, other: &u8)
>>=
操作。 Read more1.22.0 · source§impl ShrAssign<&u8> for i64
impl ShrAssign<&u8> for i64
source§fn shr_assign(&mut self, other: &u8)
fn shr_assign(&mut self, other: &u8)
>>=
操作。 Read more1.22.0 · source§impl ShrAssign<&u8> for i8
impl ShrAssign<&u8> for i8
source§fn shr_assign(&mut self, other: &u8)
fn shr_assign(&mut self, other: &u8)
>>=
操作。 Read more1.22.0 · source§impl ShrAssign<&u8> for isize
impl ShrAssign<&u8> for isize
source§fn shr_assign(&mut self, other: &u8)
fn shr_assign(&mut self, other: &u8)
>>=
操作。 Read more1.22.0 · source§impl ShrAssign<&u8> for u128
impl ShrAssign<&u8> for u128
source§fn shr_assign(&mut self, other: &u8)
fn shr_assign(&mut self, other: &u8)
>>=
操作。 Read more1.22.0 · source§impl ShrAssign<&u8> for u16
impl ShrAssign<&u8> for u16
source§fn shr_assign(&mut self, other: &u8)
fn shr_assign(&mut self, other: &u8)
>>=
操作。 Read more1.22.0 · source§impl ShrAssign<&u8> for u32
impl ShrAssign<&u8> for u32
source§fn shr_assign(&mut self, other: &u8)
fn shr_assign(&mut self, other: &u8)
>>=
操作。 Read more1.22.0 · source§impl ShrAssign<&u8> for u64
impl ShrAssign<&u8> for u64
source§fn shr_assign(&mut self, other: &u8)
fn shr_assign(&mut self, other: &u8)
>>=
操作。 Read more1.22.0 · source§impl ShrAssign<&u8> for u8
impl ShrAssign<&u8> for u8
source§fn shr_assign(&mut self, other: &u8)
fn shr_assign(&mut self, other: &u8)
>>=
操作。 Read more1.22.0 · source§impl ShrAssign<&u8> for usize
impl ShrAssign<&u8> for usize
source§fn shr_assign(&mut self, other: &u8)
fn shr_assign(&mut self, other: &u8)
>>=
操作。 Read more1.22.0 · source§impl ShrAssign<&usize> for u8
impl ShrAssign<&usize> for u8
source§fn shr_assign(&mut self, other: &usize)
fn shr_assign(&mut self, other: &usize)
>>=
操作。 Read more1.8.0 · source§impl ShrAssign<i128> for u8
impl ShrAssign<i128> for u8
source§fn shr_assign(&mut self, other: i128)
fn shr_assign(&mut self, other: i128)
>>=
操作。 Read more1.8.0 · source§impl ShrAssign<i16> for u8
impl ShrAssign<i16> for u8
source§fn shr_assign(&mut self, other: i16)
fn shr_assign(&mut self, other: i16)
>>=
操作。 Read more1.8.0 · source§impl ShrAssign<i32> for u8
impl ShrAssign<i32> for u8
source§fn shr_assign(&mut self, other: i32)
fn shr_assign(&mut self, other: i32)
>>=
操作。 Read more1.8.0 · source§impl ShrAssign<i64> for u8
impl ShrAssign<i64> for u8
source§fn shr_assign(&mut self, other: i64)
fn shr_assign(&mut self, other: i64)
>>=
操作。 Read more1.8.0 · source§impl ShrAssign<i8> for u8
impl ShrAssign<i8> for u8
source§fn shr_assign(&mut self, other: i8)
fn shr_assign(&mut self, other: i8)
>>=
操作。 Read more1.8.0 · source§impl ShrAssign<isize> for u8
impl ShrAssign<isize> for u8
source§fn shr_assign(&mut self, other: isize)
fn shr_assign(&mut self, other: isize)
>>=
操作。 Read more1.8.0 · source§impl ShrAssign<u128> for u8
impl ShrAssign<u128> for u8
source§fn shr_assign(&mut self, other: u128)
fn shr_assign(&mut self, other: u128)
>>=
操作。 Read more1.8.0 · source§impl ShrAssign<u16> for u8
impl ShrAssign<u16> for u8
source§fn shr_assign(&mut self, other: u16)
fn shr_assign(&mut self, other: u16)
>>=
操作。 Read more1.8.0 · source§impl ShrAssign<u32> for u8
impl ShrAssign<u32> for u8
source§fn shr_assign(&mut self, other: u32)
fn shr_assign(&mut self, other: u32)
>>=
操作。 Read more1.8.0 · source§impl ShrAssign<u64> for u8
impl ShrAssign<u64> for u8
source§fn shr_assign(&mut self, other: u64)
fn shr_assign(&mut self, other: u64)
>>=
操作。 Read more1.8.0 · source§impl ShrAssign<u8> for i128
impl ShrAssign<u8> for i128
source§fn shr_assign(&mut self, other: u8)
fn shr_assign(&mut self, other: u8)
>>=
操作。 Read more1.8.0 · source§impl ShrAssign<u8> for i16
impl ShrAssign<u8> for i16
source§fn shr_assign(&mut self, other: u8)
fn shr_assign(&mut self, other: u8)
>>=
操作。 Read more1.8.0 · source§impl ShrAssign<u8> for i32
impl ShrAssign<u8> for i32
source§fn shr_assign(&mut self, other: u8)
fn shr_assign(&mut self, other: u8)
>>=
操作。 Read more1.8.0 · source§impl ShrAssign<u8> for i64
impl ShrAssign<u8> for i64
source§fn shr_assign(&mut self, other: u8)
fn shr_assign(&mut self, other: u8)
>>=
操作。 Read more1.8.0 · source§impl ShrAssign<u8> for i8
impl ShrAssign<u8> for i8
source§fn shr_assign(&mut self, other: u8)
fn shr_assign(&mut self, other: u8)
>>=
操作。 Read more1.8.0 · source§impl ShrAssign<u8> for isize
impl ShrAssign<u8> for isize
source§fn shr_assign(&mut self, other: u8)
fn shr_assign(&mut self, other: u8)
>>=
操作。 Read more1.8.0 · source§impl ShrAssign<u8> for u128
impl ShrAssign<u8> for u128
source§fn shr_assign(&mut self, other: u8)
fn shr_assign(&mut self, other: u8)
>>=
操作。 Read more1.8.0 · source§impl ShrAssign<u8> for u16
impl ShrAssign<u8> for u16
source§fn shr_assign(&mut self, other: u8)
fn shr_assign(&mut self, other: u8)
>>=
操作。 Read more1.8.0 · source§impl ShrAssign<u8> for u32
impl ShrAssign<u8> for u32
source§fn shr_assign(&mut self, other: u8)
fn shr_assign(&mut self, other: u8)
>>=
操作。 Read more1.8.0 · source§impl ShrAssign<u8> for u64
impl ShrAssign<u8> for u64
source§fn shr_assign(&mut self, other: u8)
fn shr_assign(&mut self, other: u8)
>>=
操作。 Read more1.8.0 · source§impl ShrAssign<u8> for u8
impl ShrAssign<u8> for u8
source§fn shr_assign(&mut self, other: u8)
fn shr_assign(&mut self, other: u8)
>>=
操作。 Read more1.8.0 · source§impl ShrAssign<u8> for usize
impl ShrAssign<u8> for usize
source§fn shr_assign(&mut self, other: u8)
fn shr_assign(&mut self, other: u8)
>>=
操作。 Read more1.8.0 · source§impl ShrAssign<usize> for u8
impl ShrAssign<usize> for u8
source§fn shr_assign(&mut self, other: usize)
fn shr_assign(&mut self, other: usize)
>>=
操作。 Read moresource§impl SimdElement for u8
impl SimdElement for u8
source§impl Step for u8
impl Step for u8
source§unsafe fn forward_unchecked(start: Self, n: usize) -> Self
unsafe fn forward_unchecked(start: Self, n: usize) -> Self
step_trait
#42168)source§unsafe fn backward_unchecked(start: Self, n: usize) -> Self
unsafe fn backward_unchecked(start: Self, n: usize) -> Self
step_trait
#42168)count
次的 predecessor 而获得的值。 Read moresource§fn forward(start: Self, n: usize) -> Self
fn forward(start: Self, n: usize) -> Self
step_trait
#42168)source§fn backward(start: Self, n: usize) -> Self
fn backward(start: Self, n: usize) -> Self
step_trait
#42168)count
次的 predecessor 而获得的值。 Read moresource§fn steps_between(start: &Self, end: &Self) -> Option<usize>
fn steps_between(start: &Self, end: &Self) -> Option<usize>
step_trait
#42168)1.22.0 · source§impl SubAssign<&u8> for Saturating<u8>
impl SubAssign<&u8> for Saturating<u8>
source§fn sub_assign(&mut self, other: &u8)
fn sub_assign(&mut self, other: &u8)
-=
操作。 Read more1.22.0 · source§impl SubAssign<&u8> for Wrapping<u8>
impl SubAssign<&u8> for Wrapping<u8>
source§fn sub_assign(&mut self, other: &u8)
fn sub_assign(&mut self, other: &u8)
-=
操作。 Read more1.22.0 · source§impl SubAssign<&u8> for u8
impl SubAssign<&u8> for u8
source§fn sub_assign(&mut self, other: &u8)
fn sub_assign(&mut self, other: &u8)
-=
操作。 Read moresource§impl SubAssign<u8> for Saturating<u8>
impl SubAssign<u8> for Saturating<u8>
source§fn sub_assign(&mut self, other: u8)
fn sub_assign(&mut self, other: u8)
-=
操作。 Read more1.60.0 · source§impl SubAssign<u8> for Wrapping<u8>
impl SubAssign<u8> for Wrapping<u8>
source§fn sub_assign(&mut self, other: u8)
fn sub_assign(&mut self, other: u8)
-=
操作。 Read more1.8.0 · source§impl SubAssign<u8> for u8
impl SubAssign<u8> for u8
source§fn sub_assign(&mut self, other: u8)
fn sub_assign(&mut self, other: u8)
-=
操作。 Read more1.59.0 · source§impl TryFrom<char> for u8
impl TryFrom<char> for u8
将 U+0000..=U+00FF 中代码点的 char
映射到 0x00..=0xFF 中具有相同值的字节,如果代码点大于 U+00FF 则失败。
有关编码的详细信息,请参见 impl From<u8> for char
。