我的ZC706主板有双臂皮质32bit。我试图在它上面运行一个算法,作为代码的一部分,它有浮点值。
uint32_t int Ts = 69912;
float Ts_pico;
Ts_pico = 20*(10^-12)*Ts;
printf("Time stamp in picoseconds is %f", Ts_pico);
它打印的值为4272595456.000000而不是1.39824 *(10 ^ -6)
所以我通过打印测试
printf("The float point value is %f", 1.39824);
很好地打印出以下值。
接下来,当我通过打印进行测试时
double f = 10^-6;
printf("The flloat point value is %f", f);
它打印的值是-14401872.000000
如何解决浮点值问题?
答案 0 :(得分:5)
您不想10e-12
而不是10^-12
吗?
10e-12
是一个浮点 double
常量,但请注意1e-12
是10
被提升到-12
th 的力量。您的^
滥用了XOR操作符。