SO中文参考
首页
(current)
程序语言
c
java
python
c++
go
javascript
swift
c#
操作系统
linux
ubuntu
centos
unix
数据库
oracle
mysql
mongodb
postgresql
框架
node.js
angular
react-native
avalon
django
twisted
hadoop
.net
移动开发
android
ios
搜索
将IEEE 754的浮点转换为十六进制的最简单方法
问题描述
投票:-1
回答:1
有人可以解释一步一步的程序来做上述事情吗?
floating-point
ieee-754
1个回答
1
投票
以下内容适用于IEEE-754基本32位二进制浮点数,其舍入为圆与最近关系:
从输入数字x开始。
如果x为0,则产生0x00000000(对于0)并停止。
将e设为0。
如果0≤x,则将s设置为0;如果x <0,则将s设置为1,并将x设置为| x |。
重复2≤x:将x除以2并将e加1。
重复x <1:将x乘以2并从e减去1。
乘以x乘以223。
如果e <-126,则将x除以2-126-e并将e设置为-126。
如果x的小数部分小于1/2,则将其更改为0。
如果x的小数部分大于½,则将其更改为0并将f加1。
如果x的小数部分是½,则将其更改为0.然后,如果x为奇数,则将x加1。
将x除以223。
如果2≤x,则将f除以2并将e加1。
如果127 <e: 如果s为1,则产生0xff800000(对于-∞)并停止。 否则,产生0x7f800000(对于+∞)并停止。
如果1≤x: 将127添加到e并从x中减去1。 否则,将e设置为0。
以十六进制生成s•231 + e•223 + x•223并停止。
以上是从内存和未经测试的,所以应该仔细检查。
最新问题
为什么我无法获取时区“欧洲/阿姆斯特丹”中日期“1914-11-08 00:00:00”的时间戳?
具有可变上限的有界累积和
有什么方法可以在 Visual Studio 代码中监控我的 Jupyter 笔记本使用的资源吗?
错误:定义键“process.env.CommonProgramFiles(x86)”包含无效标识符“CommonProgramFiles(x86)”
使用 Spring 属性加载而不初始化 Spring 上下文
HTML/CSS - 为什么打印时背景颜色变成白色?
如何从 EF Core 中的嵌套集合中删除项目
在 Excel 中将刻度转换为日期的公式
将另一个参数作为“存储库 URL”字段传递到“列出 Subversion 标记”
GCP google_sql_user 密码未正确设置
如何将 pdfmake 与 fastify 结合使用?
Geoserver 无法识别空间列
将随机生成的数字放置到行范围内的随机位置
在 SwiftUI 中 HStack 中的项目从左到右排列
使用 ffmpeg 将字幕刻录到具有特定边距的视频中不起作用
如何在 Django 中传递 URL 中截取的详细信息?
向您的机器人发送此消息时出错:HTTP 状态代码未经授权 - Python Bot 框架解决方案
如何从 HTML 输入中获取数据并在表单中使用它们?
python 中的 VitualEnv:访问被拒绝
在 google colab 上降级 numpy 版本
© www.soinside.com 2019 - 2024. All rights reserved.