,数据类型转换的有关问题
求助,数据类型转换的问题。
void matrix_a( a_matrix, b_matrix, c_matrix, krow, kline, ktrl )
double *a_matrix[], *b_matrix[], *c_matrix[];
short krow, kline, ktrl;
///////////////////////////////////////////////////////////////////////////
Matrix add: a_matrix( krow, kline )=b_matrix( krow, kline )+c_matrix[krwo][kline]
// 矩阵相加(减)子函数
///////////////////////////////////////////////////////////////////////////
{}
例如上面的函数,使用的时候比如矩阵a=b+c;matrix_a( a, b, c, krow, kline, ktrl );现在要将这个计算过程改为单精度float(由于浮点运算处理器只支持单精度)的,a,b,c本身还要是double的(通讯需要,并且函数使用次数很多,改a,b,c工作量太大),请教各位高人,能不能在该函数内修改?谢谢!
------解决方案--------------------
int nav_data_in(double *nav_data);
float nav【10】;
nav_data_in(nav);
数据传递会出错么?
一般应该会有警告,告诉你类型不匹配。
nav_data_in((double)nav);
这样呢?
float *转成double,然后用在double *上?很难不出错啊
void matrix_a( a_matrix, b_matrix, c_matrix, krow, kline, ktrl )
double *a_matrix[], *b_matrix[], *c_matrix[];
short krow, kline, ktrl;
///////////////////////////////////////////////////////////////////////////
Matrix add: a_matrix( krow, kline )=b_matrix( krow, kline )+c_matrix[krwo][kline]
// 矩阵相加(减)子函数
///////////////////////////////////////////////////////////////////////////
{}
例如上面的函数,使用的时候比如矩阵a=b+c;matrix_a( a, b, c, krow, kline, ktrl );现在要将这个计算过程改为单精度float(由于浮点运算处理器只支持单精度)的,a,b,c本身还要是double的(通讯需要,并且函数使用次数很多,改a,b,c工作量太大),请教各位高人,能不能在该函数内修改?谢谢!
------解决方案--------------------
int nav_data_in(double *nav_data);
float nav【10】;
nav_data_in(nav);
数据传递会出错么?
一般应该会有警告,告诉你类型不匹配。
nav_data_in((double)nav);
这样呢?
float *转成double,然后用在double *上?很难不出错啊