[−][src]Function maybe_std::intrinsics::cttz
pub const extern "rust-intrinsic" fn cttz<T>(x: T) -> T where
T: Copy,
🔬 This is a nightly-only experimental API. (core_intrinsics
)
intrinsics are unlikely to ever be stabilized, instead they should be used through stabilized interfaces in the rest of the standard library
Returns the number of trailing unset bits (zeroes) in an integer type T
.
The stabilized versions of this intrinsic are available on the integer
primitives via the trailing_zeros
method. For example,
u32::trailing_zeros
Examples
#![feature(core_intrinsics)] use std::intrinsics::cttz; let x = 0b0011_1000_u8; let num_trailing = cttz(x); assert_eq!(num_trailing, 3);
An x
with value 0
will return the bit width of T
:
#![feature(core_intrinsics)] use std::intrinsics::cttz; let x = 0u16; let num_trailing = cttz(x); assert_eq!(num_trailing, 16);