永发信息网

c语言中标准化指数形式和规范化指数形式的区别

答案:4  悬赏:50  手机版
解决时间 2021-03-30 23:33
  • 提问者网友:不爱我么
  • 2021-03-30 04:16
c语言中标准化指数形式和规范化指数形式的区别
最佳答案
  • 五星知识达人网友:十年萤火照君眠
  • 2021-03-30 05:01
所谓“标准化指数形式”是指这样的指数:其数值部分是一个小数,小数点前的数字是零,小数点后的第一位数字不是零。一个实数可以有多种指数表示形式,但只有一种属于标准化指数形式。
一个实数在用指数形式输出时,是按规范化的指数形式输出的。例如,指定实数5689.65按指数形式(%e格式)输出,输出的形式只能是5.68965e+003,而不会是0.568965e+004或56.8965e+002.
规范化指数形式本来是1.23456e3的,为什么谭浩强的书上说实型数据在内存中以规范化指数形式存放,且小数部分是0.123456(十进制表达),而不是1.23456呢?其中有人这样回答:1.23456要二进制存放需分别存整数部和小数部,而0.123456则只需存小数部,这样在占用相同字节的情况下,后一种方法可容纳更大精度的浮点数.
一种观点:C语言中的“标准化指数形式”和 “规范化的指数形式” 应该是不同的概念,“标准化指数形式”用于在存储,“规范化的指数形式”用于输出。
全部回答
  • 1楼网友:西风乍起
  • 2021-03-30 07:49
引用unlorzzop的回答:
所谓“标准化指数形式”是指这样的指数:其数值部分是一个小数,小数点前的数字是零,小数点后的第一位数字不是零。一个实数可以有多种指数表示形式,但只有一种属于标准化指数形式。
一个实数在用指数形式输出时,是按规范化的指数形式输出的。例如,指定实数5689.65按指数形式(%e格式)输出,输出的形式只能是5.68965e+003,而不会是0.568965e+004或56.8965e+002.
规范化指数形式本来是1.23456e3的,为什么谭浩强的书上说实型数据在内存中以规范化指数形式存放,且小数部分是0.123456(十进制表达),而不是1.23456呢?其中有人这样回答:1.23456要二进制存放需分别存整数部和小数部,而0.123456则只需存小数部,这样在占用相同字节的情况下,后一种方法可容纳更大精度的浮点数.
一种观点:C语言中的“标准化指数形式”和 “规范化的指数形式” 应该是不同的概念,“标准化指数形式”用于在存储,“规范化的指数形式”用于输出。
兄弟,你应该是说反了,标准化指数形式小数点前面必须是一位并且非零,而规范化小数点前面 必须是零,小数点后一位不为零。
至于两者的区别,我觉得别的答案说的可能对,规范化是为了让计算机能存储更多的小数,而标准化是为了在C中输出的。
  • 2楼网友:空山清雨
  • 2021-03-30 05:41
存储是计算机的,而输出是c程序规定的,所以不同,我是这么理解的
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯