【发布时间】:2021-06-23 18:45:58
【问题描述】:
我正在基于this project 在 C 中制作一个二进制俄罗斯方块程序。 8 x 8 网格由unsigned long 表示,其中 0 表示空格,1 表示填充空格。另一个unsigned long 用于表示一个peice。 github页面描述了这样的基本概念:
董事会:
00000 ..... 798 11000 => ##... 11110 ####.方块
3 00011 => ...##检查碰撞
00000 ..... 798&3 = 2 00000 => ..... 00010 ...X....
我如何将这些概念扩展到也适用于旋转块而不求助于算术运算符?
【问题讨论】:
-
您可以使用
<< 1(左)或>>1(右)移动一个点。不知道我是否理解你的问题 -
@AntoninGAVREL 感谢您的评论!对不起,如果有点混乱,我的意思是我想旋转一组点,例如旋转 90 度。
标签: c binary bit-manipulation