【RISC-V】fclass数值类型对照表

指令:

复制代码
vfclass.v vd, vs2, vm # Vector-vector

解析:

cpp 复制代码
if (vl > vlmax(e32, mf2)) vl = __riscv_vsetvl_e32mf2(vl);
vuint32mf2_t res;
for (size_t i = 0; i < vl; i++) {
  uint32_t t = 0;
  float32_t a = op1[i];
  bool sub = is_subnormal(op1[i]); // false for ±0
  if (a == -∞)     t |= 1<<0; //负无穷 ==   1 == 0x001
  if (a<0 && !sub) t |= 1<<1; //负正规数 ==   2 == 0x002; false for ±0.0
  if (a<0 &&  sub) t |= 1<<2; //负非正规数(指数) ==   4 == 0x004; false for ±0.0
  if (a === -0.0)  t |= 1<<3; //负零 ==   8 == 0x008
  if (a === +0.0)  t |= 1<<4; //正零 ==  16 == 0x010
  if (a>0 &&  sub) t |= 1<<5; //正非正规数 ==  32 == 0x020
  if (a>0 && !sub) t |= 1<<6; //正正规数 ==  64 == 0x040
  if (a == +∞)     t |= 1<<7; //正无穷 == 128 == 0x080
  if (isSNaN(a))   t |= 1<<8; //信号 == 256 == 0x100
  if (isQNaN(a))   t |= 1<<9; //静默 == 512 == 0x200
  res[i] = t;
}
for (size_t i = vl; i < vlmax; i++) res[i] = anything();
return res;

对应表格

代码逻辑判断 (伪代码) 分类名称 对应位 返回值 (十进制) 返回值 (十六进制)
a == -∞ 负无穷 (Negative Infinity) Bit 0 1 0x001
a < 0 && !sub (负数且非非正规数) 负正规数 (Negative Normal) Bit 1 2 0x002
a < 0 && sub (负数且为非正规数) 负非正规数 (Negative Subnormal) Bit 2 4 0x004
a === -0.0 负零 (Negative Zero) Bit 3 8 0x008
a === +0.0 正零 (Positive Zero) Bit 4 16 0x010
a > 0 && sub (正数且为非正规数) 正非正规数 (Positive Subnormal) Bit 5 32 0x020
a > 0 && !sub (正数且非非正规数) 正正规数 (Positive Normal) Bit 6 64 0x040
a == +∞ 正无穷 (Positive Infinity) Bit 7 128 0x080
isSNaN(a) 信号型 NaN (Signaling NaN) Bit 8 256 0x100
isQNaN(a) 静默型 NaN (Quiet NaN) Bit 9 512 0x200

举例:

cpp 复制代码
const float32_t vec1[DATALEN] = { 16.0, 16.50, -16.5000, -16.5001, +0.0, -0.0, -1e-38, 1e-38 };

结果:

cpp 复制代码
res[8] = {64, 64, 2, 2, 16, 8, 4, 32}
相关推荐
@嵌入式扫地僧4 天前
国产 RISC-V 机器人关节 MCU 量产落地解析:硬件 EtherCAT 支持与进口替代完整指南
机器人·risc-v·ethercat·国产化替代·机器人关节mcu
论迹复利5 天前
设计 RISC-V PLIC 中断嵌套:threshold 一个寄存器当“优先级闸门“
risc-v·freertos 移植
右耳朵猫AI7 天前
Python周刊2026W36 | Python 3.15候选版、RISC-V获CPython支持、PEP 843、asyncio修复
python·sqlite·risc-v
hongmai66688811 天前
ESP32-WROVER-IE-N4R8:外接天线+8MB内存,专治信号焦虑
笔记·单片机·嵌入式硬件·microsoft·risc-v
花 满 楼12 天前
RISC-V APLIC 中断模块总结——第二篇
单片机·嵌入式硬件·mcu·risc-v
论迹复利13 天前
FreeRTOS 在 RISC-V 上是如何“点火“的 —— 从 main() 到第一个任务的完整链路
java·开发语言·risc-v
花 满 楼13 天前
RISC-V APLIC 中断模块总结——第一篇
mcu·risc-v·中断·aplic
国科安芯15 天前
小卫星综合电子系统中功能安全与抗辐射加固的协同设计研究
嵌入式硬件·安全·架构·risc-v·抗辐射·小卫星·综合电子系统
国科安芯20 天前
小卫星综合电子系统中RISC-V抗辐射MCU的功能安全与多接口集成架构分析
单片机·嵌入式硬件·安全·fpga开发·架构·risc-v
论迹复利20 天前
PendSV与RISC-V trap——上下文切换的两种设计哲学
内核·freertos·risc-v