在C语言浮点型数据中什么是规范化的指数形式,那怎样又是不规范化的指数形式?请问是如何定义的?
嗯,是的,还有比如12.345e-2和0.012345e+1等都是可以的。大小写不区分。
所谓“标准化指数形式”是指这样的指数:其数值部分是一个小数,小数点前的数字是零,小数点后的第一位数字不是零。一个实数可以有多种指数表示形式,但只有一种属于标准化指数形式。
一个实数在用指数形式输出时,是按规范化的指数形式输出的。例如,指定实数5689.65按指数形式(%e格式)输出,输出的形式只能是5.68965e+003,而不会是0.568965e+004或56.8965e+002.
规范化指数形式本来是1.23456e3的,为什么谭浩强的书上说实型数据在内存中以规范化指数形式存放,且小数部分是0.123456(十进制表达),而不是1.23456呢?其中有人这样回答:1.23456要二进制存放需分别存整数部和小数部,而0.123456则只需存小数部,这样在占用相同字节的情况下,后一种方法可容纳更大精度的浮点数.
一种观点:C语言中的“标准化指数形式”和 “规范化的指数形式” 应该是不同的概念,“标准化指数形式”用于在存储,“规范化的指数形式”用于输出。
在字母e或E之前的小数部分中,小数点左边应有一位(且只能有一位)非零的数字。
不符合这一规则的就是不规范化的指数形式。
当然前提是指数必须是合法形式,即:
字母e或E之前必须有数字,且e后面的指数为必须为整数。
必须有.和e,e后面的是整数。。。。
1.2.E12合法
.E12合法
E12不合法
1.2E1.2不合法
初中的时候学的科学计数法还记得吗?规范化的指数形式就是变成 科学计数法的数e指数 这种形式的
C语言中的float是什么意思?
C语言中float浮点型数据类型,FLOAT数据类型用于存储单精度浮点数或双精度浮点数。浮点数使用 IEEE(电气和电子工程师协会)格式。浮点类型的单精度值具有 4 个字节,包括一个符号位、一个8 位 excess-127 二进制指数和一个 23 位尾数。尾数表示一个介于 1.0 和 2.0 之间的数。由于尾数的高顺序位...
c语言中实数的表示类型
标准C允许浮点数使用后缀,后缀为f或F,即表示该数为浮点数。简单的说实型就是实数,就是小数,单精度实型的数据类型符为float,占用4字节内存空间,数值范围是1e-38~1e38保留7位。双精度实型的数据类型符为double,占用8字节内存空间,数值范围是1e-308~1e308保留11位。C语言是一门面向过程的、...
C语言中的浮点值是什么意思?
就是常说的小数,浮点是意思就是数字中有个漂浮的点,这个点就是常说的小数点。1、C语言中均支持两种浮点数,float和double。其中double的精度,和表示范围比float要大。另外,部分编译器支持更大精度的long double,但不是所有的编译器都支持。以上为三种浮点数的类型。在定义的时候,需要以 TYPE var...
c语言中printf()函数输出什么格式的数据?
输出一个浮点型数据,最小宽度为4个字符宽(包括小数点在内),不足4位右对齐,左补空格,小数点后保留两位小数。如:printf("%4.2f", 1.2 ); \/\/输出结果 1.20 printf("%4.2f", 1.195 ); \/\/输出结果 1.20 printf("%4.2f", 1.194 ); \/\/输出结果 1.19 printf("%4.2f", 12...
C语言中整型,字符型,浮点型,和双精度浮点型,详解
浮点型利用指数使小数点的位置可以根据需要而上下浮动,从而可以灵活地表达更大范围的实数。双精度浮点型,此数据类型与单精度数据类型(float)相似,但精确度比float高,编译时所占的内存空间依不同的编译器而有所不同,是double float数据类型,C\/C++中表示实型变量的一种变量类型。
c语言中, double类型是什么类型?
C语言中, double类型是双精度浮点型。浮点数也称小数或实数。例如,0.0、75.0、4.023、0.27、-937.198 都是合法的小数。C语言中采用float和double关键字来定义小数,float称为单精度浮点型,double称为双精度浮点型,long double更长的双精度浮点型。补充资料:double (双精度浮点型)类型是C语言...
C语言中float型数据表示的最大数字为多少?
C语言中float型数据表示的最大数字为3.402823E38。FLOAT数据类型用于存储单精度浮点数。具有4个字节,包括一个符号位、一个8位二进制指数和一个23位尾数。由于尾数的高顺序位始终为1,因此它不是以数字形式存储的。此表示形式为float类型,提供了一个在-3.402823E38到3.402823E38之间的范围。
C语言中说的浮点型是什么意思呢
和位数有关,会占用更多空间,浮点数比较节省空间,用浮点数表示小数也非常好,所以计算机里的小数,和位数比较高的数都用浮点数,你不可能因为1亿亿+2亿亿也用int型。浮点数就是科学计数法,不同的是计算机里是2进制浮点数,我们的1.3e-10这种类型的数是十进制的浮点数。
c语言double、 float型数据怎样表示?
1、双精度浮点型数据用%lf输出。因为double是8个字节的,float是4个字节的,%f 的格式就是4个字节的,而 %lf 就是8个字节的。 例如:printf("%lf\\n",x);2、short 占用内存空间2个字节,短整型数据用%d输出 例如:printf("%d\\n",a);例如:include <stdio.h> int main(){double x;sh...
C语言的浮点数是什么
浮点数也称做实型数据,形式上就是数学中的小数。 浮点型数据有两种表达方式: 一种是用数字和小数点表示的,如123.456; 另一种是用指数方式表示,如1.2e-6 或1.2E-6(1.2*10-6)。
皇淑卡前: 规范化的指数形式就是指: 在字母e或E之前的小数部分中,小数点左边应有一位(且只能有一位)非零的数字. 不符合这一规则的就是不规范化的指数形式. 当然前提是指数必须是合法形式,即: 字母e或E之前必须有数字,且e后面的指数为必须为整数.
临沭县13475449310: C语言中浮点数的规范化形式是什么? 在谭浩强 c程序设计第四版50页和电... - ?
皇淑卡前: 在浮点数中,为了在尾数中表示最多的有效数据位,同时使浮点数具有唯一的表示方式,浮点数的编码应当采用一定的规范,规定尾数部分用纯小数给出,而且尾数的绝对值应大于或等于1/R,并小于或等于1,即小数点后的第一位不为零.这种表示的规范称为浮点数的规格化的表示方法.不符合这种规定的数据可通过修改阶码并同时移动尾数的方法使其满足这种规范. 浮点数的规格化形式: 浮点数都是近似表示的,精度由尾数决定,数的表示范围大小由R、E决定.为了提高精度需要使尾数的有效位数尽可能占满可用的位数.这种措施称为浮点数的规格化.
临沭县13475449310: C语言提供的合法的数据类型关键字是( ) - ?
皇淑卡前: C语言提供的合法的数据类型关键字是float,是浮点型数据类型,用于存储单精度浮点数或双精度浮点数.浮点数使用IEEE格式. 浮点类型的单精度值具有 4 个字节,包括一个符号位、一个 8 位 二进制指数和一个 23 位尾数.由于尾数的高顺序...
临沭县13475449310: C语言 标准化指数形式 规范化指数形式 - ?
皇淑卡前: 所谓“标准化指数形式”是指这样的指数:其数值部分是一个小数,小数点前的数字是零,小数点后的第一位数字不是零.一个实数可以有多种指数表示形式,但只有一种属于标准化指数形式. 一个实数在用指数形式输出时,是按规范化的指数...
临沭县13475449310: C语言中浮点数标准是什么? - ?
皇淑卡前: 低端对齐存储和高端对齐存储, 没太弄懂你是什么意思, 浮点和整型存储方式不外乎这两种,
临沭县13475449310: C语言 浮点数正规化?
皇淑卡前: #include <stdio.h>#include <stdlib.h>#include <string.h>int main(){ double n,xs; long zs; char zsc[100]; char xsc[100]; scanf("%lf",&n); zs=(int)n; xs=n-zs; ltoa(zs,zsc,2); zs=0; while(xs!=(double)(long)xs){ zs++; xs*=2; } ltoa((long)xs,xsc,2); xs=zs-strlen...
临沭县13475449310: c语言基础 3.14159x10^1 为什么是写成0.314159e001? - ?
皇淑卡前: 因为 C语言中 ^ 这个符号有特殊的用法.所以 修改为 用科学计数法方式 去写.
临沭县13475449310: c语言中,常量,变量,浮点,单精度,双精度是什么意思?举例 - ?
皇淑卡前: 实型常量又称实数或浮点数.在C语言中可以用单精度型和双精度型两种形式表示实型常量,分别用类型名float和double进行定义. 实型常量在一般的微型集中占用4个字节,一般形式或者指数形式,数值范围都是-1038~1038,有效数字是7位....
临沭县13475449310: c语言中,浮点型数据有哪些特点,浮点型数据在内存中的存放形式是怎么样的?
皇淑卡前: 浮点数有单精度 float型,双精度double型两种,有些系统也有long double具体根据C语言标准有所不同,一般用的是C89,C99和C11是相对新标准.这里就介绍一最常见的标准C89,它依据的是 IEEE754浮点数标准 .好吧废话说完了,说容易懂...
临沭县13475449310: c语言中的float是什么意思 - ?
皇淑卡前: 实数的意思,float是C语言中的一个数据类型的关键字,表示单精度浮点型(双精度浮点型为double). float是C语言的基本数据类型中的一种,表示单精度浮点数,C语言规定单精度浮点型在内存占用4个字节,精度为7位,取值范围为:3.4*10...