社区
C语言
帖子详情
问专家,C语言的数据类型自动转换是否是个耗时的过程?如 int ---> double
embee
2004-04-23 03:15:11
问专家,C语言的数据类型自动转换是否是个耗时的过程?如 int ---> double
...全文
1035
16
打赏
收藏
问专家,C语言的数据类型自动转换是否是个耗时的过程?如 int ---> double
问专家,C语言的数据类型自动转换是否是个耗时的过程?如 int ---> double
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
embee
2004-04-24
打赏
举报
回复
小弟现在做数值模拟,问题属超大规模,限于经费只能在PC上做(配置P43.06,2G内存,146GSISC硬盘)。为节约内存,处理更大规模的模型,想用不同数据类型存储数据,但又担心隐式转换耗费太多时间。我看有书上说,“在实际计算时,无论float,double,都是按double计算,结果再存为float或double”不知真的假的。其他隐式转换又如何呢。 可能有人叫我,改了程序试一下。但是程序太复杂,不是查找-替换那么简单的。请专家指点,我要心中有数才敢改啊。
wingfiring
2004-04-23
打赏
举报
回复
int到double也不会很费事吧?如果是高性能环境约束,那么再来考虑这个问题如何?
陈硕
2004-04-23
打赏
举报
回复
抱歉,我说错了,Intel 有 double -> int 的指令。
陈硕
2004-04-23
打赏
举报
回复
在x86上,int -> double 是一条指令,速度飞快,但是 double -> int 没有对应的指令,会慢很多。建议楼主实测一下。
ckc
2004-04-23
打赏
举报
回复
同意 linpr(公子愚)的说法
whongun
2004-04-23
打赏
举报
回复
学习...
我一直觉得这种类型转换跟运行期没什么关系
lsof
2004-04-23
打赏
举报
回复
晕倒,自动类型转换是语言层面实现的,哪会有调用函数那么复杂吗
mrubbish
2004-04-23
打赏
举报
回复
大约时间:1/100000毫秒!
ok?
yonyon
2004-04-23
打赏
举报
回复
学习
linpr
2004-04-23
打赏
举报
回复
对涉及到指针的类型转换来说,改变的只是编译时如何dereference,没有运行时损失。
对基本类型的算术运算来说,如果底层位模式不作变动,如从unsigned char到int,没有运行时损失;而位模式完全不一样的,如double和int,相互之间转换就涉及到一个调用函数转换,即多一个call指令
pwk
2004-04-23
打赏
举报
回复
一点是几多啊
cngdzhang
2004-04-23
打赏
举报
回复
那要看优化时是注重 效率 还是注重 代码长度 了
cngdzhang
2004-04-23
打赏
举报
回复
耗时不算多,但是相对于相同类型赋值是稍微多一点时间
EternalBlue
2004-04-23
打赏
举报
回复
to: cngdzhang()
如果真的是调用这样的函数,也应该是inline的吧。
EternalBlue
2004-04-23
打赏
举报
回复
这个应该不怎么耗时的吧。
比如int --> double,只是把int的数据作一点点操作然后把它当double类型的数据使用而已。
cngdzhang
2004-04-23
打赏
举报
回复
1
会的,隐式转换实际上是通过调用函数完成的
int i=10;
double d;
double change(int i)
{
return i*1.0;
}
则d=i;相当于是
d=change(i);
的来的
当double->int时是
进行截断取整
double d=1.5;
int i=d;
那么i=1
物理实验数据处理系统
C语言
源代码
学了<<物理实验>>的人都知道,物理实验最麻烦的是数据处理,现在都是信息时代了,那种含有十几位小数的数据居然还要用手来一个个地算,真是太对起自己了,以下这个程序可以算平均值,残差,标准偏差,和总不确定度,只要你输入数据,
c 代码:
转换
-matlab开发
c代码到matlab代码的
转换
03.
C语言
数据类型
转换
第一部分:类型
转换
1、隐式类型
转换
(
自动
转换
) 在有多种
数据类型
混合计算的时候,若未人为控制类型,系统会
自动
进行类型
转换
转换
的规则是:存储长度较短的
转换
成存储长度较长的,且不丢失数据 char
---
>short
---
>
int
---
>unsigned
int
(
---
>long
---
>unsigned long)
---
>
double
...
嵌入式
c语言
基础3
第二部分:类型
转换
1、隐式类型
转换
(
自动
转换
) 在有多种
数据类型
混合计算的时候,若未人为控制类型,系统会
自动
进行类型
转换
转换
的规则是:存储长度较短的
转换
成存储长度较长的,且不丢失数据 char
---
>short
---
>
int
---
>unsigned
int
---
>long
---
>unsigned long
---
>
double
↑ float
---
---
--
C语言
指针强制类型
转换
概要:
C语言
中,任何一个变量都必须占有一个地址,而这个地址空间内的0-1代码就是这个变量的值。不同的
数据类型
占有的空间大小不一,但是他们都必须有个地址,而这个地址就是硬件访
问
的依据,而名字只是提供给程序员的一种记住这个地址的方便一点的方法。但是,不同的变量在机器中都是0-1代码,所以,我们不能简单的通过检查一个值的位来判断它的类型。 例如,定义如下:
int
a; float b;
C语言
70,020
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章