Skip to content
版 本

asc_sflbits

产 品 支 持 情 况

产 品是 否 支 持
Ascend 950PR/Ascend 950DT
Atlas A3 训 练 系 列 产 品/Atlas A3 推 理 系 列 产 品
Atlas A2 训 练 系 列 产 品/Atlas A2 推 理 系 列 产 品

功 能 说 明

计 算 一 个int64_t类 型 数 字 的 二 进 制 中,从 最 高 数 值 位 开 始 与 符 号 位 相 同 的 连 续 比 特 位 的 个 数。

  • 例:int64_t value = 0x0f00000000000000;

    符 号 位 为0,从 最 高 数 值 位 开 始 往 后(不 包 含 符 号 位)与 符 号 位 相 同 的 连 续 比 特 数 为3,故 返 回3。

函 数 原 型

C++
__aicore__ inline int64_t asc_sflbits(int64_t value)

参 数 说 明

参 数 名输 入/输 出描 述
value输 入输 入 数 据。

返 回 值 说 明

返 回 从 最 高 数 值 位 开 始 和 符 号 位 相 同 的 连 续 比 特 位 的 个 数,数 据 类 型 为int64_t。

流 水 类 型

PIPE_S

约 束 说 明

当 输 入 是-1(比 特 位 全1)或 者0(比 特 位 全0)时,返 回-1。

调 用 示 例

C++
int64_t val = 0x000f00ff0ff0ffff;
int64_t res = 0;
res = asc_sflbits(val);    // 返 回11

免 责 声 明:本 站 内 容 由 asc-devkit 仓 master 分 支 自 动 编 译 生 成,属 于 持 续 开 发 版 本,可 能 存 在 缺 陷,仅 供 预 览 与 参 考。如 需 稳 定 及 商 用 资 料,请 查 阅 官 方 昇 腾 社 区