c语言中int和double的区别在哪里?

作者&投稿:历皇 (若有异议请与网页底部的电邮联系)
~

在c++中,int和double有以下几个区别:

1、类型区别:

int是定义的整型数据,如int a 则a的值只能是整型,比如a=3。

double双精度浮点数,就是有小数点的数。

2、在计算中的存储方式:

int在32位计算机中占4个字节,这4个字节的在内存中存放的顺序为低字节存在低地址,高字节存在高地址。

double是64位的,在存储方式上都是遵从IEEE的规范,其遵从的是 IEEE R64.53。

在内存中的存储主要分成三部分,分别是:

符号位(Sign):0代表正数,1代表负数

指数位(Exponent):用于存储科学计数法中的指数部分,并且采用移位存储方式

尾数位(Mantissa):用于存储尾数部分

3、表达范围:

int:在32/64位系统中都是32位,取值范围为-2147483648~+2147483647,无符号情况下表示为0~4294967295。

double:有效数字为15-16,数值范围为-1.7*10(-308)~1.7*10(308);

扩展资料:

C++中,整型数据是用int来进行定义的,整型的范围就是指int类型所能表示的整数的范围。在32位或64位机器中,int占4个字节,即32位。

int能表示的最大正整数为:0111 1111 1111 1111 1111 1111 1111 1111  (最高位表示符号位,正数符号位为0)对应的10进制数为2^31-1=2147483647,对应的十六进制表示为:0x7FFFFFFF。

int能表示的最小负整数为:1000 0000 0000 0000 0000 0000 0000 0000  (最高位表示符号位,负数符号位为1),对应的十六进制表示为0x80000000,而C++规定该值为-2^31=-2147483648。

所以最终,int类型(整数类型)的范围为-2^31 ~ 2^31-1,即-2147483648~2147483647,十六进制表示:0x80000000~0x7FFFFFFF。

double 的数据类型取值范围如下:

1、负值取值范围为 -1.79769313486231570E+308 到 -4.94065645841246544E-324。

2、正值取值范围为 4.94065645841246544E-324 到 1.79769313486231570E+308。




C语言中 int i=1,s=3;do{ s+=i++ 中的 s+=i++ 是什么意思?
s+=i++等同于s=s+i++,i++表示i在等于1的基础上每执行到这一步i的值递增1

学习C语言需要掌握哪些基本知识?
int num = getPeachNumber(1); printf("猴子第一天摘了:%d个桃子。\\n", num); return 0; } 12.变量存储类别 ! 12.1.生存周期划分存储方式 C语言根据变量的生存周期来划分,可以分为静态存储方式和动态存储方式。 静态存储方式:是指在程序运行期间分配固定的存储空间的方式。静态存储区中存放了在整个程序执行...

设有定义:int=5;则执行一下语句后,打印的结果是什么? do { printf("
朋友,你写错了吧,定义int=5??我想应该是定义int a = 5 吧。假设a= 5,该语句首先执行do里面的内容,先执行printf的内容,而打印的信息是a--,这个是运算符后置,所以先执行打印,再将--的值赋给a,简单点讲printf("%2d\\n",a--);相当于:printf("%2d\\n",a); a=a-1; 所以...

c语言中下面这个看不懂 int x=-3; do{x++;}while(x++); printf("%d\\n...
在循环里当x++之后等于0时,到while括号中即为0,停止循环,而while括号中的x++还是要执行,执行完自然为1了。

int a=1;b=10; do {b-=a; a++;} while (b--<0); printf("%d",b...
结果是8 首先b-=a;b变为9;然后判断b<0?否,循环结束,此时b再自减,变为8,输出为8 或:do{}while() 循环的运行过程是:先运行 {} 里面du的语句,然后再进行条件判断 。所以,上面的代码是先执行 b-=a ; \/\/ b = 9 ;a++ ; \/\/ a = 2 ;然后再执行判断while(b--<0)这句话...

main() { int y=10; do{y--;}while(--y); printf("%d\\n",y--); }...
main(){ int y=10;do { y--;\/\/当语句执行第一次循环的时候在这里个Y的值是10当越过这一行之后Y的值被减1 } while(--y);\/\/因为之前Y的值被减1 现在是9而当它执行到下一行打印命令的时候它的值变成了8 printf("%d\\n",y--);\/\/此时输出的值为8,而Y的实际值变成7 } 注 :Y-...

c++中do函数是做什么的?请教大侠,语句是哪样的?具体介绍下
是先执行最少一次代码再检测是否重复, 而while {} 就是先检测是否执行代码,例子:do \/\/先执行 { printf("a: %d\\n",a);a++;}while (a<10); \/\/后检测 while (a<10) \/\/\/先检测 { \/\/后执行 printf("a: \\n",a);a++;} 而函数如下:int func(int x,int y){ return x*y;} ...

c语言里++是什么意思
1、自加,有两种用法:假如定义了一个变量i=1 (1)若使用i++, 指代先取i的值再另i=i+1 (2)若使用++i,指代先使i=i+1再取i的值 2、C语言中的运算符的优先级从高到低大致是:单目运算符、算术运算符、关系运算符、逻辑运算符、条件运算符、赋值运算符(=)和逗号运算符。

int x=3; do { x-=2; cout<<x; }while(!(--x)); 执行以上
先执行一次循环,x的值变为1,输出x的值(即输出1)。进行判断,(!(--x));前置自减,先自减后运算,所以为(!0),C语言中0代表假,非0为真,(!(--x))=(!0)=(非假)=真。执行第二次循环,x的值变为-2(进行判断时自减过),输出x的值(即输出-2)。进行判断,(!(--x...

c语言中的do语句陷入死循环了。。。 要求只能输出1和0。。 然而输入1...
题目要求是什么?输入什么,要得到什么?include<stdio.h>main( ){ int a;printf( "请输入\\n" );do{ scanf( "%d",&a );if( a==1||a==0 );elseprintf( "请输入1或0!\\n" );}while( a!=1&&a!=0);printf( "%d",a );printf( "\\n程序结束\\n" );} ...

梁子湖区18642781686: C语言里,什么是整形变量和复合变量?int和double的区别 -
贾娴香草: 整形变量就是int类型的 复合变量就是像结构,共用体之类的数据类型 int 变量只能放整数(占4字节) double 放的是双精度型数据(占8字节)

梁子湖区18642781686: int double 在c语言中区别 -
贾娴香草: 是除法的问题. item=a/b;这一句如果a和b都是整型,除法就会被认为是整除,结果只保留整数部分,比如3/2=1而不是1.5,只有a和b至少一个浮点类型时,才会被认为是实数除法.所以要么把a或者b定义成浮点数(当然都定义成浮点数也没问题),要么在做除法时进行强制类型转换,比如: int a=3, b=2; double item=(double)a/b;这样结果也是对的.

梁子湖区18642781686: c语言编程中,int,double,float有什么区别,请说明白点. -
贾娴香草: 不同的类型 int是整数 float和double是浮点数 double精度更高 占用的存储字节更多

梁子湖区18642781686: c语言的double 和int的区别,%d和%f的区别 -
贾娴香草: double是双精度实型数(小数),int为整型,%d是输出有符号的十进制数,%f输出实型数(小数),%lf输出doule型数据,当用int代替double时,会发生数据丢失,也就是说小数部分丢失,只留下整数部分,希望可以帮到你!

梁子湖区18642781686: C语言int和float有什么差别? -
贾娴香草: int是整型.float是单精度浮点型. int只能表示整数,在windows32和64中占4个字节. folat也就是有小数部分的,如:3.234.小数有效位是7个.也占4个字节.

梁子湖区18642781686: c语言里,double和int在开头都是定义吗?有啥区别 -
贾娴香草: double表示的是浮点数, 范围大,但值是近似值. int只能表示整型. 定义的话, 最原始的C要求 所有变量都要在代码块开头定义 不过后来放宽了 现在几乎所有的编译器 都是可以在函数中间定义变量了.

梁子湖区18642781686: c语言中的double输入float输入int输入怎么区分,分别是什么情况下使用 -
贾娴香草: %f 代表输入float, 是实数; %d 代表输入int, 是整数

梁子湖区18642781686: C语言中什么时候用int型什么时候用double型? -
贾娴香草: 当全部是整数操作的时候用int.涉及到小数操作了用double或者float型..

梁子湖区18642781686: C语言里int与double是怎么回事? 刚学 -
贾娴香草: int 是整型变量,double是双精度浮点型;你这个计算,最好定义r,s,l用float或者double;否则,计算表达式3.14*r*r相当于3*(int)r*(int)*r,变量会被舍弃小数取整再计算(不是四舍五入)#include<stdio.h>#include<stdlib.h> int main() { double r,s,l; printf("input r:\n"); scanf("%f",&r); s=3.14*r*r; printf("3.14*r*r=%lf\n", s); l=6.28*r; printf("6.28*r=%lf\n",l); system("pause"); }

梁子湖区18642781686: C#编程中double int string有什么区别 -
贾娴香草: 这是数据类型的区别,差别相当大,简言之:double:双精度,浮点型,其实就是用来表示带小数的数字,比如5.5555;int:整形,无小数点,只能表示5,不能表示5.0;string:字符串类型,一般声明的时候用双引号括起来,如:"Hello You !".不过这种东西教材上应该说的很详细啊.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网