论坛: 编程破解 标题: C语言中,基本数据类型转换 复制本贴地址    
作者: kof0438 [kof0438]    论坛用户   登录
我想问一个超级菜的问题啊!大虾门给指点一下好吗?
在C语言中,关于基本数据类型和运算一章,int 转 char 或者转long 这个过程是怎样的啊!
为什么我在书上都没有看见这方面的资料啊!谁知道啊~~~~~~~~~~!!!急啊~~


[此贴被 286(unique) 在 05月27日13时44分 编辑过]

地主 发表时间: 04-05-27 13:34

回复: apollomz [apollomz]   论坛用户   登录
应该是应用强制类型转换

B1层 发表时间: 04-05-27 16:41

回复: kof0438 [kof0438]   论坛用户   登录
我知道是强制转换,但是不知道是如何进行的,有什么规律!

B2层 发表时间: 04-05-27 21:24

回复: xiaoshi [xiaoshi]   论坛用户   登录
a=(int)b

B3层 发表时间: 04-05-27 21:39

回复: kof0438 [kof0438]   论坛用户   登录
你们可能还是没有明白我的意思!
我的意思是说!
比如a=12 b=1.32
float a=12
float b.1.32
应该是这样的吧~为什么输出结果的时候如果定义int b=1.32就不行呢?我真的是不明白!
long型和int型或者float型和char型到底是如何转换的!为什么int型定义的数等于65时。float型就等于65.00000呢?

B4层 发表时间: 04-05-27 22:42

回复: 286 [unique]   版主   登录
一个语言系统之所以定义数据的类型,就是因为不同类型在内存中的表现形式是不一样的。
int b=1.32
你定义b为int类型,系统就给该变量分配四个字节的空间,但未考虑小数点的位置(因为默认是无),而float a=1.32,除了把1放到个位位上,还把32放到小数位上,并且记住小数的位置。

至于long型和int型或者float型和char型之间的转换,不同编译系统也不完全相同,简单点说比如:
int a;
float b=1.23;
a=(int)b;
系统就把b小数点前面的数给了a,这样a=1。



B5层 发表时间: 04-05-28 08:56

回复: TomyChen [quest]   版主   登录
sprintf()
够用了

B6层 发表时间: 04-05-28 16:48

回复: kof0438 [kof0438]   论坛用户   登录
太谢谢了啊!286~~~我可以加你QQ吗!我的QQ是253528649

B7层 发表时间: 04-05-28 22:23

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号