2 sinat 33392580 sinat_33392580 于 2016.03.22 22:38 提问

俄罗斯方块中的进制数

我是一个菜鸟,我想知道为什么俄罗斯方块游戏中要用一个十六进制数表示一个俄罗斯方块,而且为什么十六进制数可以转换成二进制是数组形式

2个回答

caozhy
caozhy   Ds   Rxr 2016.03.22 23:05
已采纳
 一个俄罗斯方块可以在一个4x4的形状中表示
比如
I型
.xxx
.xxx
.xxx
.xxx
L形
.xxx
.xxx
..xx
xxxx

T形
...xx
x.xx
x.xx
xxxx
Z形
..xx
x.xx
x..x
xxxx
方块形
xxxx
x..x
x..x
xxxx
等等

每个点有图像,无图像两个状态可以用0 1表示。
所以可以用一个16位的二进制数表示一个俄罗斯方块的形状。每个二进制位表示一个坐标。
sinat_33392580
sinat_33392580 谢谢,我懂了
2 年多之前 回复
sinat_33392580
sinat_33392580 恩,我知道这个,但是我不太懂,就比如说0x0f00可以表示一个长条型的,但是为什么0x0f00转换成二进制后就是一个数组形式了呢
2 年多之前 回复
enpterexpress
enpterexpress   Rxr 2016.03.23 11:00

说实话,不知道你在说啥

sinat_33392580
sinat_33392580 不用了,谢谢我弄明白了,可能不太会表达
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
C/C++中八进制数的表达方法
C/C++中八进制数的表达方法1.八进制数的表达方法C/C++语言中,如何表达一个八进制数呢?如果这个数是 876,我们可以断定它不是八进制数,因为八进制数中不可能出7以上的阿拉伯数字。但如果这个数是123、是567,或12345670,那么它是八进制数还是10进制数,都有可能。所以, C/C++规定,一个数如果要指明它采用八进制,必须在它前面加上一个0,如:123是十进制,但0123
java常见进制数之间的转换
java常见进制数之间的转换,二进制的加法
K进制数
题目描述:          一个合法的n位K进制数定义如下: 它是一个首位不为0的K进制数。 它不包含连续的两个0。对于输入的K,n。求出满足上述条件的K进制数个数。 解题思路:          这个题应该是一个递推题。可以用f[i]表示i位(最高位是第i位)K进制数的总数,那么就应该有:f[i]=(f[i-1]+f[i-2])*(k-1)。 解释一下:f[i]也就是i位K进制数的总数
= 问题 = 请问如何把16进制数转化为10进制数显示输出?谢谢!
 = 问题 =   请问如何把16进制数转化为10进制数显示输出?谢谢!   --------------------------------------------------------------------------------  16进制数在内存INPUT处,使用大写字母,结果在OUTPUT中  最大为双字  大致如下:  input  db  "23AF ",0  w1   
Java不同进制的表示形式。
一,数据类型和数的表示形式 我们知道没一个变量都有它的数据类型,类型确定,数据的范围和和操作集合也就确定。然后就是数的不同的进制的表示。我们已经习惯了十进制表示,例如:int x=15,其实也可以这么写int x=017(八进制),int x=0xf(十六进制,不区分大小写),int x=0b1111(二进制); 总结如下Java目前我知道的数的表现形式 二进制:0b****;(*表示0或1)
C语言中不同进制数的输入输出及表示方法
表示方法 二进制:B -> 0111B 八进制:O -> 77O  (不是数字 0 )  077 十进制:D -> 99D 77 十六进制:H -> FFH 0xFF 输入 八进制:%o输入必须为有效八进制数 十进制:%d 十六进制:%x
使用Java把16进制数转化成10进制
在平时的学习中,会碰见一些进制的转换,如16进制转成10进制,那么如何在java编程中实现这些实用的功能,简单写一下。      16进制数转化成10进制       这里采用一个switch来实现,把读入的16进制字符串转化成10进制,思想是把读入的字符串的每一位转化成10进制的数字,然后再进行累加算出代表的10进制的数。        import java.util.*; public
C++:把一个数从M进制转为N进制。
#include #include using namespace std; string chageMtoN(string&str, int M, int N){ int hashch[256]; for (int i = 0; i <= 9; ++i) hashch['0' + i] = i; for (int i = 10; i <= 35; ++i) hashch['A' +
JAVA实现10进制的数转化为任意n进制的数
要实现10进制数zhuan
2进制转化为3进制
总时间限制: 1000ms 内存限制: 65536kB描述输入一个2进制的数,要求输出该2进制数的3进制表示。在3进制的表示中,只有0,1,2三种符号输入第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个以0和1组成的字符串,字符串长度至少是1,至多是64输出n行,每行输出对应一个输入。样例输入2 10110 1011样例输出211 102 #include &amp;lt;stdi...