关于一些提速的小问题(或许会难)

anqiangli 2003-10-25 08:48:03
对于
int a=1*10;
int a=(-1)*10;
计算量比
int a=10;
int a=-10;
大吗?

如果大,有什么好办法,不让程序做这些无聊的1*10,(-1)*10??
现在的问题是:有一个N维的向量,和N*N维的矩阵相乘,这个矩阵的
元素都是1或者-1。
我想把其中乘法运算量去掉!!

(难道c里面没有类似这样的东东
char a='+';
int b=1a2;
于是可以把*1或*(-1)去掉。
——————不要笑我菜,至少我想想力不错啊……^.^




...全文
41 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
flashsj 2003-10-26
  • 打赏
  • 举报
回复
:)
WindFroce 2003-10-26
  • 打赏
  • 举报
回复
不大清楚,
ZhangYv 2003-10-25
  • 打赏
  • 举报
回复
N*N矩阵行或列先累加,得出的结果再和N维向量相乘
bosedom 2003-10-25
  • 打赏
  • 举报
回复
如果想把1或-1去掉,只有靠你的算法了。如果在输入或生成数据时就自动检测乘数是否为1。C语言好像没有这种功能的。
darcymei 2003-10-25
  • 打赏
  • 举报
回复
当然大!
a=1*10;先计算表达式,在生成临时变量赋值。
可以用预编译符define
但比较危险

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧