如何包装大行位,使其不是一大行?
How do I wrap large lines of bits so it's not one big line?
我打算尝试制作国际象棋 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;
我打算尝试制作国际象棋 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;