Function std::intrinsics::ctlz[][src]

pub const extern "rust-intrinsic" fn ctlz<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

Expand description

返回整数类型 T 的前导未设置位 (zeroes) 的数量。

请注意,与大多数内联函数不同,这对调用是安全的; 它不需要 unsafe 块。 因此,实现不得要求用户维护任何安全不可变变量。

可通过 leading_zeros 方法在整数基元上使用此内联函数的稳定版本。

例如, u32::leading_zeros

Examples

#![feature(core_intrinsics)]

use std::intrinsics::ctlz;

let x = 0b0001_1100_u8;
let num_leading = ctlz(x);
assert_eq!(num_leading, 3);
Run

值为 0x 将返回 T 的位宽。

#![feature(core_intrinsics)]

use std::intrinsics::ctlz;

let x = 0u16;
let num_leading = ctlz(x);
assert_eq!(num_leading, 16);
Run