Konstanten einsetzen
-
Wandelt der Compiler nachfolgende Definition von Konstanten automatisch in eine Zahl um, so dass ich in den Inline Functions mit den Konstanten (noch auskommentiert) statt den unlesbaren Hexzahlen arbeiten darf, ohne dass etwas langsamer wird?
DANKE SCHON MAL!!!
const int FLAG_CAPTURED = 7 << 15; const int FLAG_CAPTURED_PROMOTED = 63 << 15; const int FLAG_PROMOTED = 7 << 18; const int FLAG_PROMOTED_ENPASSANT_CASTLED = 15 << 18; const int FLAG_ENPASSANT = 1 << 21; const int FLAG_CASTLED = 1 << 21; inline int move_captured(const int move) { return move & 0x38000; //return move & FLAG_CAPTURED; } inline int move_promoted(const int move) { return move & 0x1C0000; // return move & FLAG_PROMOTED; } inline int move_captured_promoted(const int move) { return move & 0x1F8000; //return move & FLAG_CAPTURED_PROMOTED; } inline int move_enpassant(const int move) { return move & 0x200000; //return move & FLAG_ENPASSANT; } inline int move_castled(const int move) { return move & 0x200000; //return move & FLAG_CASTLED; } inline int move_promoted_enpassant_castled(const int move) { return move & 0x3C0000; //return move & FLAG_PROMOTED_ENPASSANT_CASTLED; }
-
Tomahawk schrieb:
Wandelt der Compiler nachfolgende Definition von Konstanten automatisch in eine Zahl um, so dass ich in den Inline Functions mit den Konstanten (noch auskommentiert) statt den unlesbaren Hexzahlen arbeiten darf, ohne dass etwas langsamer wird?
Bitte schau in der Ausgabe des Compilers nach. Bei MS durch Strg+F10, Alt+8 (Debuggerhinlaufen, Assemblerwindow aufmach).