double类型的变量是否可以赋给整型变量

double类型的变量是否可以赋给整形变量?字符型呢?数据类型转换的基本原则是什么?

不能赋值给整型变量!字符型也不行!
数据类型转换原则如下图所示:
double ← float
高 ↑
long

↑ unsigned

低 int ← char,short

“←”表示必定的转换,如float型在运算时一律转换为double型;“↑”表示当运算对象为不同类型时转换的方向,如int型与double型混合运算,则int型转换为double型。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-10-17
不可以的,DOUBLE为双精度,你想赋值必须强制转换为整形,但是精度将会降低,最好还是不要强制转换!字符型也不行的!
第2个回答  2012-10-17
double类型的变量复制给整形变量时 需要自己手动强转 如 double a ; int b; b = (int)a;
字符型变量在内存中存储时以整形形式存储的 范围是(0~127) 而数据类型转换 是 低级向高级转 是自动的 而高级向低级转 必须手动 强制类型转换
第3个回答  2012-10-17
double 可以隐式转换为 整型变量,但请记住这并不是安全的。不能隐式转换为字符型。
我不知道有什么基本原则。
第4个回答  2012-10-20
我认为:数据转换的基本原则就是这种数据在计算机内存中的表示方式(存储格式)
在C/C++中:
比如char会当作一个int整型存储,他们可以进行类型转换。但是这些细节上又有许多问题,比如是转换成一个u 还是not u的呢。。。具体的与编译器实现有关 在C/C++标准中都没有定义
对于转换,别想着给你一条规则,就能适用于所有情况,编程的过程中自然会明白。。
一般的C++书籍在第3、4章的样子应该就会对基本的(静态)数据类型转换做一个比较详细的说明,掌握了就可以
到了后面更复杂的类型转换,比如xxxx_cast() 到时候再说吧
bool可与指针、int转换
char可与int转化
double 、float 、int 之间也可以转换(但一般只能由小向大去转换,否则后果难料)
。。。。。

double类型的变量是否可以赋给整型变量
不能赋值给整型变量!字符型也不行!数据类型转换原则如下图所示:double ← float 高 ↑ long ↑ ↑ unsigned ↑ 低 int ← char,short “←”表示必定的转换,如float型在运算时一律转换为double型;“↑”表示当运算对象为不同类型时转换的方向,如int型与double型混合运算,...

double型变量可以赋给int型变量吗?
D、int型变量在内存中占的空间比double型少,所以不能把a,b的值赋给w

大一C++问题 double类型的变量是否可以赋给整形变量?字符型呢?数据类型...
例如double a=5.5 int b=a 这里b=5 失去了小数一位.5的精度 数据不精确 但是可以转换 (2)从类型低的转换到类型高的 会正常转换 没有警告 至于字符类型 是完全可以赋值给整型变量的 如果楼主知道 ASCII码 那么字符赋值给整型变量 就是讲字符对应的ASCII码(整型的)赋值给整型变量 (...

赋值表达式的规则
将实型数据赋值给整形变量时,舍去小数部分后,再赋值给整型变量。将float型数据赋值给double型变量时,数值不变,有效位扩展至16位(小数点后补0),反之,将double型数据赋值给float型变量将整型数据赋值给整型变量时,要格外关注两者之间的长度和符号类型上的差异,正是由于这些差异使得赋值完成后,变量...

c语言中将一个浮点型赋值给整型时,会不会四舍五入?
结论是,当在C语言中将浮点型数值赋值给整型变量时,确实不会进行四舍五入,而是直接丢弃小数部分,执行的是下取整操作。这种转换并不是简单的四舍五入,而是按照整数的规则进行截断。例如,浮点数5.4和5.6在赋值给整型后,都会变为5,只保留整数部分。具体来说,无论是单精度浮点型还是双精度浮点型...

double型变量有哪些用法?
double在这里是指将变量i和变量s定义为双精度实型变量。(也就是说:赋给这两个变量的值将以双精度实型格式存储在内存中)注意事项 1、类型说明符和表达式都必须加括号(单个变量可以不加括号),如把(int)(x+y)写成(int)x+y则成了把x转换成int型之后再与y相加了。2、无论是强制转换或是自动...

double用法
例如:double x = 3.1415926;除此之外,在进行某些运算时,也可以通过强制类型转换将其他类型的数据转换为双精度浮点型,例如:int a = 10;double b = (double) a \/ 3;在这个例子中,将整型变量 a 转换为双精度浮点型,并与 3 进行相除,得到的结果赋值给了变量 b。

c语言的double 和int的区别,%d和%f的区别
int:整型,即我们通常意义下的整数变量,例如1、2、3、4、5等。double:双精度实型数,即我们通常意义下的小数,例如1.25、1.37、5.0等。d:这是C语言中scanf用于输入整数的格式,输入整数的格式是scanf("%d",&a)。f:这是C语言中scanf用于输入小数的格式,输入整数的格式是scanf("%lf",&a...

C语言中我用double类型的变量为什么得到得是一个整形
首先你要知道,在第七行代码中,程序先计算等号右边的值,再赋值给factmax。因为power是整型,导致256*(power+100)是整型,导致256*(power+100)\/100也是整型。然后赋值给factmax时,由于factmax是实型,就会给计算出的整型数补零,使结果如图。

double型变量的赋值运算的结果为什么是double?
假定x和y都是double 型的变量,当x=2时,y=x+3\/2=3.000000,因为在表达式中3\/2=1,又因为y=x+3\/2=x+1=3.000000。因为运算符的优先级原因和运算的类型转换等因素的影响,才导致结果为3.000000,运算:3为整型,2为整型,所以3\/2为整型。当执行y=x+3\/2时,x为double,把x+1转为...

相似回答