So führen Sie eine bitweise Operation für Gleitkommazahlen durch

Ich habe es versucht:

float a = 1.4123;
a = a & (1 << 3);

Ich erhalte einen Compilerfehler, der besagt, dass der Operand von& kann nicht vom Typ float sein.

Wenn ich mache:

float a = 1.4123;
a = (int)a & (1 << 3);

Ich bekomme das Programm zum Laufen. Die einzige Sache ist, dass die bitweise Operation an der ganzzahligen Darstellung der Zahl durchgeführt wird, die nach dem Abrunden erhalten wird.

Folgendes ist ebenfalls nicht erlaubt.

float a = 1.4123;
a = (void*)a & (1 << 3);

Ich verstehe nicht warumint Kann gegossen werdenvoid* aber nichtfloat.

Ich mache dies, um das in der Frage zum Stapelüberlauf beschriebene Problem zu lösenWie werden lineare Gleichungen mit einem genetischen Algorithmus gelöst?.

Antworten auf die Frage(9)

Ihre Antwort auf die Frage