Trait core::fmt::Binary

1.0.0 · source ·
pub trait Binary {
    // Required method
    fn fmt(&self, f: &mut Formatter<'_>) -> Result;
}
Expand description

b 格式。

Binary trait 应该将其输出格式化为二进制格式的数字。

对于原始有符号整数 (i8i128isize),负值的格式设置为二进制补码表示形式。

备用标志 # 在输出前面添加 0b

有关格式化程序的更多信息,请参见 模块级文档

Examples

i32 的基本用法:

let x = 42; // 42 是 '101010' 二进制

assert_eq!(format!("{x:b}"), "101010");
assert_eq!(format!("{x:#b}"), "0b101010");

assert_eq!(format!("{:b}", -16), "11111111111111111111111111110000");
Run

在类型上实现 Binary

use std::fmt;

struct Length(i32);

impl fmt::Binary for Length {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        let val = self.0;

        fmt::Binary::fmt(&val, f) // 委托给 i32 的实现
    }
}

let l = Length(107);

assert_eq!(format!("l as binary is: {l:b}"), "l as binary is: 1101011");

assert_eq!(
    format!("l as binary is: {l:#032b}"),
    "l as binary is: 0b000000000000000000000001101011"
);
Run

Required Methods§

source

fn fmt(&self, f: &mut Formatter<'_>) -> Result

使用给定的格式化程序格式化该值。

Implementors§

source§

impl Binary for i8

source§

impl Binary for i16

source§

impl Binary for i32

source§

impl Binary for i64

source§

impl Binary for i128

source§

impl Binary for isize

source§

impl Binary for u8

source§

impl Binary for u16

source§

impl Binary for u32

source§

impl Binary for u64

source§

impl Binary for u128

source§

impl Binary for usize

1.34.0 · source§

impl Binary for NonZeroI8

1.34.0 · source§

impl Binary for NonZeroI16

1.34.0 · source§

impl Binary for NonZeroI32

1.34.0 · source§

impl Binary for NonZeroI64

1.34.0 · source§

impl Binary for NonZeroI128

1.34.0 · source§

impl Binary for NonZeroIsize

1.28.0 · source§

impl Binary for NonZeroU8

1.28.0 · source§

impl Binary for NonZeroU16

1.28.0 · source§

impl Binary for NonZeroU32

1.28.0 · source§

impl Binary for NonZeroU64

1.28.0 · source§

impl Binary for NonZeroU128

1.28.0 · source§

impl Binary for NonZeroUsize

source§

impl<T: Binary> Binary for Saturating<T>

1.11.0 · source§

impl<T: Binary> Binary for Wrapping<T>

source§

impl<T: ?Sized + Binary> Binary for &T

source§

impl<T: ?Sized + Binary> Binary for &mut T