当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust Binary用法及代码示例


本文简要介绍rust语言中 Trait std::fmt::Binary 的用法。

用法

pub trait Binary {
    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>;
}

b 格式化。

Binary 特征应将其输出格式化为二进制数字。

对于原始有符号整数( i8 i128 isize ),负值被格式化为二进制补码表示。

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

有关格式化程序的更多信息,请参阅the module-level documentation

例子

i32 的基本用法:

let x = 42; // 42 is '101010' in binary

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

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

在类型上实现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) // delegate to i32's implementation
    }
}

let l = Length(107);

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

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

相关用法


注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 Trait std::fmt::Binary。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。