我将尝试制作国际象棋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;

10-08 11:40