我将尝试制作国际象棋ai,并且需要长行位(我认为,除非其他人有更好的方法)才能表示8x8板上的棋子位置。
看起来像这样-
double blackpawns=0b1111111111111111111111111111111111111111111111111111111111111111;
但我想让它看起来像-
double blackpawns=0b11111111
11111111
11111111
11111111
11111111
11111111
11111111
11111111;
只是看起来更整洁。问题是,如果我在1之间放置任何空格,那么0b仅适用于那部分,其余的不计在内,并且会引发错误。谢谢!
顺便说一句,我不会有满是棋子的棋盘,我只是用来演示。
最佳答案
看起来不太好,但是请考虑以下因素:
#include <stdio.h>
#include <stdint.h>
int main(void)
{
uint64_t blackpawns = 0b\
11111111\
11111111\
11111111\
11111111\
11111111\
11111111\
11111111\
11111111;
// your code
return 0;
}
我个人的看法是:在这种情况下,最好使用十六进制表示法,例如:
uint64_t blackpawns = 0xFFFFFFFFFFFFFFFF;