# Trait std::fmt::Binary 1.0.0[−][src]

`b`

formatting.

The `Binary`

trait should format its output as a number in binary.

For primitive signed integers (`i8`

to `i128`

, and `isize`

),
negative values are formatted as the two’s complement representation.

The alternate flag, `#`

, adds a `0b`

in front of the output.

For more information on formatters, see the module-level documentation.

# Examples

Basic usage with `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");Run

Implementing `Binary`

on a type:

use std::fmt; struct Length(i32); impl fmt::Binary for Length { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let val = self.0; write!(f, "{:b}", val) // delegate to i32's implementation } } let l = Length(107); println!("l as binary is: {:b}", l);Run

## Required Methods

## Implementors

`impl<'a, T> Binary for &'a T where`

T: Binary + ?Sized,`impl Binary for u8`

`impl Binary for NonZeroU128`

`impl Binary for u128`

`impl Binary for NonZeroU8`

`impl Binary for u16`

`impl Binary for i64`

`impl Binary for u32`

`impl Binary for usize`

`impl<T> Binary for Wrapping<T> where`

T: Binary,`impl Binary for i16`

`impl<'a, T> Binary for &'a mut T where`

T: Binary + ?Sized,`impl Binary for NonZeroU64`

`impl Binary for i128`

`impl Binary for isize`

`impl Binary for u64`

`impl Binary for i32`

`impl Binary for NonZeroU16`

`impl Binary for i8`

`impl Binary for NonZeroUsize`

`impl Binary for NonZeroU32`