C语言实型数据的问题 高手进(高分求救)
实型数据在内存中以指数形式存放,请问0.12这个浮点数在内存中具体怎么放的?书上只举出3.14159这个例子:.314159*10^01那0.12内存中小数部分是.012...
实型数据在内存中以指数形式存放,请问 0.12 这个浮点数在内存中具体怎么放的?书上只举出3.14159这个例子:.314159*10^01 那0.12内存中小数部分是.012呢 还是.12呢?我知道将0.12转成规范化是1.2E-01 那在内存小数部分该写多少呢?指数部分该是多少呢?就针对0.12 请帮我给出答案 不要复制书上理论知识
一楼 不会不要乱写 谢谢 虽然你很积极 看清我的题目 在内存中小数部分存放什么 指数部分存放什么?谁告诉你存放16进制的?就是计算机里也是二进制,再说你的16进制 除了OX写的对 其他根本就和0.12没关系而且答非所问! 这是一个很概念的问题 展开
一楼 不会不要乱写 谢谢 虽然你很积极 看清我的题目 在内存中小数部分存放什么 指数部分存放什么?谁告诉你存放16进制的?就是计算机里也是二进制,再说你的16进制 除了OX写的对 其他根本就和0.12没关系而且答非所问! 这是一个很概念的问题 展开
3个回答
展开全部
浮点有多种存放形式, 常见的windows的单精度浮点, 是有1bit符号位,8bit指数位, 还有23bit小数尾数位
16进制是2进制一种比较简洁的表示方法.
0.12是正数, 符号位为0, 它的2进制近似值是0.00011110101110000101000111101100, 小数点右移4bit以后可以化成科学计数法的小数部分, 值为1.1110101110000101000111101100.
通过以上可以知道, 符号位是0, 8bit指数位是1111111 - 100 = 1111011, 23bit小数尾数位是11101011100001010001111, 这一共是32bit, 合起来就是01111011,11101011,1000010,10001111.
目前内存基本是以字节为单位, 而且windows下是litter endian.所以在内存中从低到高存放的依次是
10001111,11000010,11110101,00111101
这就是windows下常见的单精度浮点的0.12
至于bit分配为什么是0,8,23, 只能说这是别人这么设计的, 如果自己设计, 完全可以不用这样, 另外, 指数为什么还有个1111111, 这也是设计安排的, 将来 自己设计内存, 设计浮点计算, 也可以安排成其他值
浮点存放跟硬件软件都是相联系的
16进制是2进制一种比较简洁的表示方法.
0.12是正数, 符号位为0, 它的2进制近似值是0.00011110101110000101000111101100, 小数点右移4bit以后可以化成科学计数法的小数部分, 值为1.1110101110000101000111101100.
通过以上可以知道, 符号位是0, 8bit指数位是1111111 - 100 = 1111011, 23bit小数尾数位是11101011100001010001111, 这一共是32bit, 合起来就是01111011,11101011,1000010,10001111.
目前内存基本是以字节为单位, 而且windows下是litter endian.所以在内存中从低到高存放的依次是
10001111,11000010,11110101,00111101
这就是windows下常见的单精度浮点的0.12
至于bit分配为什么是0,8,23, 只能说这是别人这么设计的, 如果自己设计, 完全可以不用这样, 另外, 指数为什么还有个1111111, 这也是设计安排的, 将来 自己设计内存, 设计浮点计算, 也可以安排成其他值
浮点存放跟硬件软件都是相联系的
--
2022-12-05 广告
2022-12-05 广告
图形化编程简单理解为用积木块形式编程,scratch和python也是其中的一种,属于入门级编程,以其简单生动的画面获得无数学生的喜爱,深圳市创客火科技有限公司是一家做教育无人机的公司,旗下有编程无人机,积木无人机及室内外编队,每款飞机含有...
点击进入详情页
本回答由--提供
展开全部
0x1.eb851e * 2 ^ -4
... 没理论知识知道答案又能怎么样呢...
----
所以说,答案只是拿来印证理论知识的。没理论,把答案放在你眼前你也看不明白不是?
不会?十六进制数都看不出来的人都敢如此评价别人+_+
----
“问题补充:一楼 不会不要乱写 谢谢 虽然你很积极 看清我的题目 在内存中小数部分存放什么 指数部分存放什么?谁告诉你存放16进制的”
存下来给后来人瞻仰 TvT
指责别人不懂可是只有懂的人才有的权利,你这种不知道天高地厚的类型... 最好玩儿了+_,+...
----
好吧 我善良的一面给你最后的提示-w-...
#include <stdio.h>
void main()
{
int a = 0x1eb851e;
printf("%f\n", (double)0x1eb851e / 0x1000000 / 16);
}
----
我的回答和硬件有关系么,有么0v0?
我觉得他问的是0.12在内存里的小数部分是什么指数部分是什么啊,我第一句就已经回答了啊,我还附赠告诉它底数是2啊,我冤啊TvT
... 没理论知识知道答案又能怎么样呢...
----
所以说,答案只是拿来印证理论知识的。没理论,把答案放在你眼前你也看不明白不是?
不会?十六进制数都看不出来的人都敢如此评价别人+_+
----
“问题补充:一楼 不会不要乱写 谢谢 虽然你很积极 看清我的题目 在内存中小数部分存放什么 指数部分存放什么?谁告诉你存放16进制的”
存下来给后来人瞻仰 TvT
指责别人不懂可是只有懂的人才有的权利,你这种不知道天高地厚的类型... 最好玩儿了+_,+...
----
好吧 我善良的一面给你最后的提示-w-...
#include <stdio.h>
void main()
{
int a = 0x1eb851e;
printf("%f\n", (double)0x1eb851e / 0x1000000 / 16);
}
----
我的回答和硬件有关系么,有么0v0?
我觉得他问的是0.12在内存里的小数部分是什么指数部分是什么啊,我第一句就已经回答了啊,我还附赠告诉它底数是2啊,我冤啊TvT
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一楼的仁兄 ,这个好像跟硬件没什么关系吧 楼主问的是小数点在0前面 还是后面~~~~~~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询