首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >处理二进制数字的规范化

处理二进制数字的规范化
EN

Stack Overflow用户
提问于 2014-11-12 14:44:22
回答 1查看 857关注 0票数 0

二进制数为0010 0001 0110 (注:浮点8位尾数和4位指数)

它正确地代表了16.5,但还没有标准化。

我需要把它转换成一个标准化的表格(从01开始)到16.5。

我所尝试的

尾数: 0.1000010

指数: 0010,因为我移动了2个点,所以指数是2。

但答案应该是16.5,即尾数为01000010,指数为0101,出了什么问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-12 15:18:18

16.5十进制是10000.1二进制。

将二进制点移到前导1的右侧。

代码语言:javascript
运行
复制
1.00001 exponent 4

指数通常以“有偏”的形式表示(而不是两种形式的补语)。对于4位,偏置应该是7。所以4 + 7 = 11,在二进制中是1011

去掉意义上的前导1 (假设),将其放入8位,并将其放在指数产生后:

代码语言:javascript
运行
复制
1011 00001000

但是浮点表示没有符号位是不寻常的。有了一个前导符号位,4位指数和7位意义,它变成:

代码语言:javascript
运行
复制
0 1011 0000100
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26889664

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档