Tag: 加法

C程序没有正确添加浮点数

我有一个看起来像这样的方法: float * mutate(float* organism){ int i; float sign = 1; static float newOrg[INPUTS] = {0}; for (i = 0;i<INPUTS;i++){ if (rand() % 2 == 0) { sign = 1; } else { sign = -1; } float temp = (organism[i] + sign); printf("bf: %f af: %f diff: %f sign: %f sign2: %f temp: %f\n\n", […]

在这种情况下,“加法”和“按位或”是否相同?

假设我有四个32位数字,定义为它们的位不重叠,即 unsigned long int num0 = 0xFF000000; unsigned long int num1 = 0x00FF0000; unsigned long int num2 = 0x0000FF00; unsigned long int num3 = 0x000000FF; 在每个号码中,在FF的位置可以有任何东西。 我是否正确地说添加和按位或者总是会为这种数字产生相同的输出? 谢谢!