游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1456|回复: 0

新人求教:关于定点数和浮点数转换的问题

[复制链接]

1

主题

3

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2009-6-10 02:47:00 | 显示全部楼层 |阅读模式
在《Trick of the 3D Game Programming Gurus》这本书上看到以下关于定点数和浮点数转换的代码:

#define FIXP16_MAG 65536

// convert float to fixed point 16.16
#define FLOAT_TO_FIXP16(f) (((float)(f) * (float)FIXP16_MAG+0.5))

// convert fixed point to float
#define FIXP16_TO_FLOAT(fp) ( ((float)fp)/FIXP16_MAG)

书中的32位定点数是由16位整数和16位小数组成的
float类型是由1位符号位、8位阶码和23位尾数组成的

两种表示方式不同的数据是怎么通过简单的移位和加法实现转换的,原理是什么呢?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-20 01:07

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表