3
1 0001 -1
2 0010 -2
8 1000 -4
4 0100 -3
2
3 0011 -1 2
5 0101 -1 3
6 0110 -2 3
9 1001 -1 4
10 1010 -2 4
12 1100 -3 4
1
7 0111 -1 2 3
11 1011 -1 2 4
13 1101 -1 3 4
14 1110 -2 3 4
0
15 1111 -1 2 3 4
0 0
1 0001 -1
3 0011 -1 2
7 0111 -1 2 3
15 1111- 1 2 3 4
9 1001 -1 4
5 0101 -1 3
11 1011 -1 2 4
13 1101 -1 3 4
2 0010 - 2
6 0110 -2 3
14 1110 -2 3 4
10 1010 - 2 4
8 1000 -4
4 0100 -3
12 1100 -3 4
case 4 bit
1
2
3
4
...
15
0 0
1 0001 -1
2 0010 - 2
3 0011 -1 2
4 0100 -3
5 0101 -1 3
6 0110 -2 3
7 0111 -1 2 3
8 1000 -4
9 1001 -1 4
10 1010 - 2 4
11 1011 -1 2 4
12 1100 -3 4
13 1101 -1 3 4
14 1110 -2 3 4
15 1111- 1 2 3 4
var
i: integer;
b: byte;
begin
i := 0;
b := 1;
case i of
0: //0000
case b of
1: i := 1;
2: i := 2;
3: i := 4;
4: i := 8;
end;
1://0001
case b of
//1:i:=1;
2: i := 3;
3: i := 5;
4: i := 9;
end;
2://0010
case b of
1: i := 3;
//2:i:=3;
3: i := 6;
4: i := 10;
end;
3://0011
case b of
//1:i:=3
//2:i:=3;
3: i := 7;
4: i := 11;
end;
4://0100
case b of
1: i := 5;
2: i := 6;
//3:i:=7;
4: i := 12;
end;
5://0101
case b of
//1:i:=5;
2: i := 7;
//3:i:=7;
4: i := 13;
end;
6://0110
case b of
1: i := 7;
//2:i:=7;
//3:i:=7;
4: i := 14;
end;
7://0111
case b of
//1:i:=7;
//2:i:=7;
//3:i:=7;
4: i := 15;
end;
8://1000
case b of
1: i := 9;
2: i := 10;
3: i := 12;
//4:i:=15;
end;
9://1001
case b of
//1:i:=7
2: i := 11;
3: i := 13;
//4:i:=15;
end;
10://1010
case b of
1: i := 11;
//2:i:=7;
3: i := 14;
//4:i:=15;
end;
11://1011
case b of
//1:i:=7
//2:i:=7;
3: i := 15;
//4:i:=15;
end;
12://1100
case b of
1: i := 13;
2: i := 14;
//3:i:=7;
//4:i:=15;
end;
13://1101
case b of
//1:i:=13;
2: i := 15;
//3:i:=7;
//4:i:=15;
end;
14://1110
case b of
1: i := 15;
//2:i:=14;
//3:i:=7;
//4:i:=15;
end;
15: ;//1111
end;
end;
https://www.onlinegdb.com/online_pascal_compiler
https://rextester.com/l/pascal_online_compiler
在线编译
var
i: integer;
b: byte;
begin
i := 0;
b := 1;
case i of
0: //0000
case b of
1: i := 1;
2: i := 2;
3: i := 4;
4: i := 8;
end;
1://0001
case b of //1
//1:i:=1;
2: i := 3;
3: i := 5;
4: i := 9;
end;
2://0010
case b of //2
1: i := 3;
//2:i:=3;
3: i := 6;
4: i := 10;
end;
3://0011
case b of //1 2
//1:i:=3
//2:i:=3;
3: i := 7;
4: i := 11;
end;
4://0100
case b of // 3
1: i := 5;
2: i := 6;
//3:i:=7;
4: i := 12;
end;
5://0101
case b of // 1 3
//1:i:=5;
2: i := 7;
//3:i:=7;
4: i := 13;
end;
6://0110
case b of // 2 3
1: i := 7;
//2:i:=7;
//3:i:=7;
4: i := 14;
end;
7://0111
case b of //1 2 3
//1:i:=7;
//2:i:=7;
//3:i:=7;
4: i := 15;
end;
8://1000
case b of // 4
1: i := 9;
2: i := 10;
3: i := 12;
//4:i:=15;
end;
9://1001
case b of // 1 4
//1:i:=7
2: i := 11;
3: i := 13;
//4:i:=15;
end;
10://1010
case b of // 2 4
1: i := 11;
//2:i:=7;
3: i := 14;
//4:i:=15;
end;
11://1011
case b of // 1 2 4
//1:i:=7
//2:i:=7;
3: i := 15;
//4:i:=15;
end;
12://1100
case b of // 3 4
1: i := 13;
2: i := 14;
//3:i:=7;
//4:i:=15;
end;
13://1101
case b of // 1 3 4
//1:i:=13;
2: i := 15;
//3:i:=7;
//4:i:=15;
end;
14://1110
case b of // 2 3 4
1: i := 15;
//2:i:=14;
//3:i:=7;
//4:i:=15;
end;
15: ;//1111 //1 2 3 4
end;
ShowMessage(IntToStr(i));
end;
可用
var
i: integer;
b: byte;
begin
i := 0;
b := 1;
case i of
0: //0000
case b of
1: i := 1;
2: i := 2;
3: i := 4;
4: i := 8;
end;
1://0001
case b of //可用2 3 4
//1:i:=1;
2: i := 3;
3: i := 5;
4: i := 9;
end;
2://0010
case b of //可用 1 3 4
1: i := 3;
//2:i:=3;
3: i := 6;
4: i := 10;
end;
3://0011
case b of //可用 3 4
//1:i:=3
//2:i:=3;
3: i := 7;
4: i := 11;
end;
4://0100
case b of // 可用 1 2 4
1: i := 5;
2: i := 6;
//3:i:=7;
4: i := 12;
end;
5://0101
case b of // 可用 2 4
//1:i:=5;
2: i := 7;
//3:i:=7;
4: i := 13;
end;
6://0110
case b of //可用 1 4
1: i := 7;
//2:i:=7;
//3:i:=7;
4: i := 14;
end;
7://0111
case b of //可用 4
//1:i:=7;
//2:i:=7;
//3:i:=7;
4: i := 15;
end;
8://1000
case b of //可用 1 2 3
1: i := 9;
2: i := 10;
3: i := 12;
//4:i:=15;
end;
9://1001
case b of // 可用 2 3
//1:i:=7
2: i := 11;
3: i := 13;
//4:i:=15;
end;
10://1010
case b of // 可用 1 3
1: i := 11;
//2:i:=7;
3: i := 14;
//4:i:=15;
end;
11://1011
case b of //可用 3
//1:i:=7
//2:i:=7;
3: i := 15;
//4:i:=15;
end;
12://1100
case b of //可用 1 2
1: i := 13;
2: i := 14;
//3:i:=7;
//4:i:=15;
end;
13://1101
case b of // 可用 2
//1:i:=13;
2: i := 15;
//3:i:=7;
//4:i:=15;
end;
14://1110
case b of // 可用 1
1: i := 15;
//2:i:=14;
//3:i:=7;
//4:i:=15;
end;
15: ;//1111 可用无 //1 2 3 4
end;
ShowMessage(IntToStr(i));
end;