※ 引述《ben1357956 (QQ鸡腿)》之铭言:
: 如题
: 我想要输入一串数字
: 自动输出成米字号的样子
: 像是输入1
: 跑出下列这样
: *
: *
: *
: *
: *
: *
: *
: 新手上路,多多指教
我想你的问题大约是输入数字,要产生对应的位图,例如:
> 23904
2222 3333 9999 0000 4 4
2 3 9 9 0 0 4 4
2222 3333 9999 0 0 4444
2 3 9 0 0 4
2222 3333 9999 0000 4
这题目就是先将各个数字的位图以数字存起来,例如:数字 2 的位图
如下,中间图形是将左边的点阵以二进制表示,右边为将二进制数换成十进制
数字表示,如此数字二的 5x4 点阵就可用 15,1,15,8,15 等五个数字替代。
**** 1111 15
* 0001 1
**** 1111 15
* 1000 8
**** 1111 15
接下来当然就是要如何由各列的 10 进位数字得知其二进制的位元是 0 或
是 1,若为 1 则印资料,若为 0 则印空格,此时可利用 >> 运算子将数字
的位元向右移若干位,例如:数字 12 的二进制为 1100 使用 >> 可向右移
动若干个位元,观察以下可知数字 12 各位元的资料都被挤到最右边,同时
最右边的位元刚好控制数字为奇数或偶数,如此一来就可用 %2 得知,
整个过程如下:
12 >> 0 ===> 1100 %2 后得