12.07.2015 Views

MPLAB® C18 C 编译器函数库

MPLAB® C18 C 编译器函数库

MPLAB® C18 C 编译器函数库

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

MPLAB ® <strong>C18</strong> C 编 译 器 函 数 库为 示 范 转 换 方 法 , 使 用 与 AN575 中 相 同 的 例 子 , 其 中 A 10 = 0.15625。首 先 , 求 出 指 数 :2 Z = 0.15625Z =ln (0.15625)ln (2)= -2.6780719Exp = int(Z) = -3接 着 , 计 算 尾 数 的 小 数 部 分 :x = 0.156252 -3 = 1.25然 后 确 定 二 进 制 表 示 :x = 1.25 ≥ 2 0 ? 是 bit = 1 ; x = 1.25 - 1 = 0.25x = 0.25 ≥ 2 -1 ? 否 bit = 0 ; x = 0.25x = 0.25 ≥ 2 -2 ? 是 bit = 1 ; x = 0.25 - 0.25 = 0x = 0过 程 结 束因 此 , 二 进 制 表 示 为 :A 2 = 1.01000000000000000000000。最 后 , 将 正 确 的 符 号 位 放 到 尾 数 的 MSb 位 , 并 且 将 计 算 出 的 指 数 加 上 偏 移 量 0x7F, 即转 换 成 Microchip 浮 点 格 式 。 0.156256 的 Microchip 浮 点 格 式 表 示 是 0x7C200000。 有关 浮 点 格 式 转 换 的 更 多 信 息 , 请 查 阅 AN575。5.3.2 将 Microchip 浮 点 格 式 转 换 为 十 进 制 数将 浮 点 数 转 换 成 十 进 制 数 的 过 程 相 对 简 单 , 可 通 过 手 工 计 算 ( 或 使 用 计 算 器 ) 来 检 查结 果 。 要 把 浮 点 数 转 换 成 十 进 制 数 , 可 使 用 如 下 方 程 :方 程 5-4:A 10 = 2 Exp • A 2其 中 , Exp 为 未 加 偏 移 量 的 指 数 , A 为 尾 数 的 二 进 制 扩 展 。为 使 用 上 述 公 式 , 必 须 对 存 储 的 值 进 行 处 理 。 因 为 指 数 是 以 加 偏 移 量 格 式 存 储 的 , 也就 是 说 , 真 正 的 指 数 加 上 了 0x7F , 所 以 , 要 获 得 上 述 计 算 中 所 使 用 的 真 正 指 数 , 就必 须 将 存 储 的 值 减 去 0x7F。符 号 位 存 储 在 尾 数 的 MSb 中 。 为 了 精 确 得 到 尾 数 的 全 部 24 位 , 一 旦 提 取 出 符 号 位 ,MSb 位 就 被 明 确 假 定 为 1。 为 了 计 算 A 2 , 使 用 下 面 公 式 进 行 简 单 的 二 进 制 扩 展 。 因 为MSb 明 确 为 1, 扩 展 部 分 总 会 包 含 2 0 项 。DS51297C_CN 第 138 页© 2004 Microchip Technology Inc.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!