gzwzm06

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  1 随笔 :: 52 文章 :: 17 评论 :: 0 Trackbacks

 

 1#include <cstdio>
 2#include <cstring>
 3
 4const int SIZE = 32;
 5
 6int Mem[SIZE];
 7
 8inline void InitMem(const char* str, const int& n)
 9{
10    int i, j, t;
11
12    Mem[n] = 0;
13    for ( i = 0, j = 7; i < 8++i, --j )
14    {
15        t = str[i] - '0';
16        Mem[n] |= (t << j);
17    }

18
19}

20
21int main()
22{
23//    freopen("1.txt", "r", stdin);
24    char str[SIZE];
25    int i, value, op, accu, pc;
26    bool stop;
27
28    while ( scanf("%s", str) != EOF )
29    {
30        InitMem( str, 0 );
31        for ( i = 1; i < SIZE; ++i)
32        {
33            scanf("%s", str);
34            InitMem( str, i );
35        }

36        accu = pc = 0;
37        stop = false;
38        while ( !stop )
39        {
40            //注意pc, accu会溢出
41            op = (Mem[pc] >> 5& 7;
42            value = Mem[pc] & 31;
43            pc = ( pc + 1 ) % SIZE;
44
45            switch(op)
46            {
47            case 0:
48                Mem[value] = accu;
49                break;
50            case 1:
51                accu = Mem[value];
52                break;
53            case 2:
54                if ( accu == 0 )
55                    pc = value;
56                break;
57            case 3:
58                break;
59            case 4:
60                accu--;
61                if ( accu < 0 )
62                    accu = 255;
63                break;
64            case 5:
65                accu = ( accu + 1 ) % 256;
66                break;
67            case 6:
68                pc = value;
69                break;
70            case 7:
71                stop = true;
72                break;
73            }
        
74        }

75
76        int t;
77        for ( i = 7; i >= 0--i )
78        {
79            t = (accu >> i) & 1;
80            printf("%d", t);
81        }

82        printf("\n");
83    }

84
85    return 0;
86}
posted on 2009-03-30 17:16 阅读(200) 评论(0)  编辑 收藏 引用 所属分类: 模拟题

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理