當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Rust ctlz用法及代碼示例


本文簡要介紹rust語言中 Function std::intrinsics::ctlz 的用法。

用法

pub const extern "rust-intrinsic" fn ctlz<T>(x: T) -> T where    T: Copy,

返回整數類型 T 中前導未設置位(零)的數量。

請注意,與大多數內在函數不同,這是可以安全調用的;它不需要unsafe 塊。因此,實現不得要求用戶維護任何安全不變量。

此內在函數的穩定版本可通過 leading_zeros 方法在整數原語上使用。例如, u32::leading_zeros

例子

#![feature(core_intrinsics)]

use std::intrinsics::ctlz;

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

值為 0x 將返回 T 的位寬。

#![feature(core_intrinsics)]

use std::intrinsics::ctlz;

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

相關用法


注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 Function std::intrinsics::ctlz。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。