asc_sflbits
产 品 支 持 情 况
| 产 品 | 是 否 支 持 |
|---|---|
| √ | |
| √ | |
| √ |
功 能 说 明
计 算 一 个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