diff options
Diffstat (limited to 'src/systemc/tests/systemc/misc/unit/data/datawidth_bool_to_signed/promote_lost_carry')
8 files changed, 4526 insertions, 0 deletions
diff --git a/src/systemc/tests/systemc/misc/unit/data/datawidth_bool_to_signed/promote_lost_carry/common.h b/src/systemc/tests/systemc/misc/unit/data/datawidth_bool_to_signed/promote_lost_carry/common.h new file mode 100644 index 000000000..d7f26e029 --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/datawidth_bool_to_signed/promote_lost_carry/common.h @@ -0,0 +1,49 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + common.h -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + +#ifndef COMMON_H +#define COMMON_H + +#include "systemc.h" + +typedef sc_bv<4> bool_vector4; +typedef sc_bv<6> bool_vector6; + +typedef sc_signal<bool_vector4> signal_bool_vector4; +typedef sc_signal<bool_vector6> signal_bool_vector6; + +#endif diff --git a/src/systemc/tests/systemc/misc/unit/data/datawidth_bool_to_signed/promote_lost_carry/datawidth.cpp b/src/systemc/tests/systemc/misc/unit/data/datawidth_bool_to_signed/promote_lost_carry/datawidth.cpp new file mode 100644 index 000000000..b954dfe88 --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/datawidth_bool_to_signed/promote_lost_carry/datawidth.cpp @@ -0,0 +1,65 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + datawidth.cpp -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + + /*******************************************/ + /* Implementation Filename: datawidth.cc */ + /*******************************************/ + +#include "datawidth.h" + +void +datawidth::entry() +{ + bool_vector4 tmp_a; + bool_vector6 tmp_b; + bool_vector6 tmp_result; + + while (true) { + + // HANDSHAKING + do { wait(); } while (ready != 1); + + // COMPUTATION + tmp_a = in1.read(); + tmp_b = in2.read(); + tmp_result = tmp_a.to_int() + tmp_b.to_int(); + + // WRITE OUTPUT + result.write(tmp_result); // result = in1 + in2 + wait(); + } +} diff --git a/src/systemc/tests/systemc/misc/unit/data/datawidth_bool_to_signed/promote_lost_carry/datawidth.h b/src/systemc/tests/systemc/misc/unit/data/datawidth_bool_to_signed/promote_lost_carry/datawidth.h new file mode 100644 index 000000000..6adbfd87b --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/datawidth_bool_to_signed/promote_lost_carry/datawidth.h @@ -0,0 +1,87 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + datawidth.h -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + + /**************************************/ + /* Interface Filename: datawidth.h */ + /**************************************/ + +#include "common.h" + +SC_MODULE( datawidth ) +{ + SC_HAS_PROCESS( datawidth ); + + sc_in_clk clk; + + // Inputs + const signal_bool_vector4& in1; + const signal_bool_vector6& in2; + const sc_signal<bool>& ready; + // Outputs + signal_bool_vector6& result; + // Parameters + const int in1_width; + const int in2_width; + const int result_width; + + // Constructor + datawidth (sc_module_name NAME, + sc_clock& TICK, + const signal_bool_vector4& IN1, + const signal_bool_vector6& IN2, + const sc_signal<bool>& READY, + signal_bool_vector6& RESULT, + const int IN1_WIDTH, + const int IN2_WIDTH, + const int RESULT_WIDTH ) + + : + in1 (IN1), + in2 (IN2), + ready (READY), + result (RESULT), + in1_width (IN1_WIDTH), + in2_width (IN2_WIDTH), + result_width (RESULT_WIDTH) + + { + clk (TICK); + SC_CTHREAD( entry, clk.pos() ); + } + + void entry(); +}; diff --git a/src/systemc/tests/systemc/misc/unit/data/datawidth_bool_to_signed/promote_lost_carry/golden/promote_lost_carry.log b/src/systemc/tests/systemc/misc/unit/data/datawidth_bool_to_signed/promote_lost_carry/golden/promote_lost_carry.log new file mode 100644 index 000000000..833493d33 --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/datawidth_bool_to_signed/promote_lost_carry/golden/promote_lost_carry.log @@ -0,0 +1,4099 @@ +SystemC Simulation +0 + 0 = 0 (000000) +0 + 1 = 1 (000001) +0 + 2 = 2 (000010) +0 + 3 = 3 (000011) +0 + 4 = 4 (000100) +0 + 5 = 5 (000101) +0 + 6 = 6 (000110) +0 + 7 = 7 (000111) +0 + 8 = 8 (001000) +0 + 9 = 9 (001001) +0 + 10 = 10 (001010) +0 + 11 = 11 (001011) +0 + 12 = 12 (001100) +0 + 13 = 13 (001101) +0 + 14 = 14 (001110) +0 + 15 = 15 (001111) +0 + 16 = 16 (010000) +0 + 17 = 17 (010001) +0 + 18 = 18 (010010) +0 + 19 = 19 (010011) +0 + 20 = 20 (010100) +0 + 21 = 21 (010101) +0 + 22 = 22 (010110) +0 + 23 = 23 (010111) +0 + 24 = 24 (011000) +0 + 25 = 25 (011001) +0 + 26 = 26 (011010) +0 + 27 = 27 (011011) +0 + 28 = 28 (011100) +0 + 29 = 29 (011101) +0 + 30 = 30 (011110) +0 + 31 = 31 (011111) +0 + -32 = -32 (100000) +0 + -31 = -31 (100001) +0 + -30 = -30 (100010) +0 + -29 = -29 (100011) +0 + -28 = -28 (100100) +0 + -27 = -27 (100101) +0 + -26 = -26 (100110) +0 + -25 = -25 (100111) +0 + -24 = -24 (101000) +0 + -23 = -23 (101001) +0 + -22 = -22 (101010) +0 + -21 = -21 (101011) +0 + -20 = -20 (101100) +0 + -19 = -19 (101101) +0 + -18 = -18 (101110) +0 + -17 = -17 (101111) +0 + -16 = -16 (110000) +0 + -15 = -15 (110001) +0 + -14 = -14 (110010) +0 + -13 = -13 (110011) +0 + -12 = -12 (110100) +0 + -11 = -11 (110101) +0 + -10 = -10 (110110) +0 + -9 = -9 (110111) +0 + -8 = -8 (111000) +0 + -7 = -7 (111001) +0 + -6 = -6 (111010) +0 + -5 = -5 (111011) +0 + -4 = -4 (111100) +0 + -3 = -3 (111101) +0 + -2 = -2 (111110) +0 + -1 = -1 (111111) +1 + 0 = 1 (000001) +1 + 1 = 2 (000010) +1 + 2 = 3 (000011) +1 + 3 = 4 (000100) +1 + 4 = 5 (000101) +1 + 5 = 6 (000110) +1 + 6 = 7 (000111) +1 + 7 = 8 (001000) +1 + 8 = 9 (001001) +1 + 9 = 10 (001010) +1 + 10 = 11 (001011) +1 + 11 = 12 (001100) +1 + 12 = 13 (001101) +1 + 13 = 14 (001110) +1 + 14 = 15 (001111) +1 + 15 = 16 (010000) +1 + 16 = 17 (010001) +1 + 17 = 18 (010010) +1 + 18 = 19 (010011) +1 + 19 = 20 (010100) +1 + 20 = 21 (010101) +1 + 21 = 22 (010110) +1 + 22 = 23 (010111) +1 + 23 = 24 (011000) +1 + 24 = 25 (011001) +1 + 25 = 26 (011010) +1 + 26 = 27 (011011) +1 + 27 = 28 (011100) +1 + 28 = 29 (011101) +1 + 29 = 30 (011110) +1 + 30 = 31 (011111) +1 + 31 = -32 (100000) +1 + -32 = -31 (100001) +1 + -31 = -30 (100010) +1 + -30 = -29 (100011) +1 + -29 = -28 (100100) +1 + -28 = -27 (100101) +1 + -27 = -26 (100110) +1 + -26 = -25 (100111) +1 + -25 = -24 (101000) +1 + -24 = -23 (101001) +1 + -23 = -22 (101010) +1 + -22 = -21 (101011) +1 + -21 = -20 (101100) +1 + -20 = -19 (101101) +1 + -19 = -18 (101110) +1 + -18 = -17 (101111) +1 + -17 = -16 (110000) +1 + -16 = -15 (110001) +1 + -15 = -14 (110010) +1 + -14 = -13 (110011) +1 + -13 = -12 (110100) +1 + -12 = -11 (110101) +1 + -11 = -10 (110110) +1 + -10 = -9 (110111) +1 + -9 = -8 (111000) +1 + -8 = -7 (111001) +1 + -7 = -6 (111010) +1 + -6 = -5 (111011) +1 + -5 = -4 (111100) +1 + -4 = -3 (111101) +1 + -3 = -2 (111110) +1 + -2 = -1 (111111) +1 + -1 = 0 (000000) +2 + 0 = 2 (000010) +2 + 1 = 3 (000011) +2 + 2 = 4 (000100) +2 + 3 = 5 (000101) +2 + 4 = 6 (000110) +2 + 5 = 7 (000111) +2 + 6 = 8 (001000) +2 + 7 = 9 (001001) +2 + 8 = 10 (001010) +2 + 9 = 11 (001011) +2 + 10 = 12 (001100) +2 + 11 = 13 (001101) +2 + 12 = 14 (001110) +2 + 13 = 15 (001111) +2 + 14 = 16 (010000) +2 + 15 = 17 (010001) +2 + 16 = 18 (010010) +2 + 17 = 19 (010011) +2 + 18 = 20 (010100) +2 + 19 = 21 (010101) +2 + 20 = 22 (010110) +2 + 21 = 23 (010111) +2 + 22 = 24 (011000) +2 + 23 = 25 (011001) +2 + 24 = 26 (011010) +2 + 25 = 27 (011011) +2 + 26 = 28 (011100) +2 + 27 = 29 (011101) +2 + 28 = 30 (011110) +2 + 29 = 31 (011111) +2 + 30 = -32 (100000) +2 + 31 = -31 (100001) +2 + -32 = -30 (100010) +2 + -31 = -29 (100011) +2 + -30 = -28 (100100) +2 + -29 = -27 (100101) +2 + -28 = -26 (100110) +2 + -27 = -25 (100111) +2 + -26 = -24 (101000) +2 + -25 = -23 (101001) +2 + -24 = -22 (101010) +2 + -23 = -21 (101011) +2 + -22 = -20 (101100) +2 + -21 = -19 (101101) +2 + -20 = -18 (101110) +2 + -19 = -17 (101111) +2 + -18 = -16 (110000) +2 + -17 = -15 (110001) +2 + -16 = -14 (110010) +2 + -15 = -13 (110011) +2 + -14 = -12 (110100) +2 + -13 = -11 (110101) +2 + -12 = -10 (110110) +2 + -11 = -9 (110111) +2 + -10 = -8 (111000) +2 + -9 = -7 (111001) +2 + -8 = -6 (111010) +2 + -7 = -5 (111011) +2 + -6 = -4 (111100) +2 + -5 = -3 (111101) +2 + -4 = -2 (111110) +2 + -3 = -1 (111111) +2 + -2 = 0 (000000) +2 + -1 = 1 (000001) +3 + 0 = 3 (000011) +3 + 1 = 4 (000100) +3 + 2 = 5 (000101) +3 + 3 = 6 (000110) +3 + 4 = 7 (000111) +3 + 5 = 8 (001000) +3 + 6 = 9 (001001) +3 + 7 = 10 (001010) +3 + 8 = 11 (001011) +3 + 9 = 12 (001100) +3 + 10 = 13 (001101) +3 + 11 = 14 (001110) +3 + 12 = 15 (001111) +3 + 13 = 16 (010000) +3 + 14 = 17 (010001) +3 + 15 = 18 (010010) +3 + 16 = 19 (010011) +3 + 17 = 20 (010100) +3 + 18 = 21 (010101) +3 + 19 = 22 (010110) +3 + 20 = 23 (010111) +3 + 21 = 24 (011000) +3 + 22 = 25 (011001) +3 + 23 = 26 (011010) +3 + 24 = 27 (011011) +3 + 25 = 28 (011100) +3 + 26 = 29 (011101) +3 + 27 = 30 (011110) +3 + 28 = 31 (011111) +3 + 29 = -32 (100000) +3 + 30 = -31 (100001) +3 + 31 = -30 (100010) +3 + -32 = -29 (100011) +3 + -31 = -28 (100100) +3 + -30 = -27 (100101) +3 + -29 = -26 (100110) +3 + -28 = -25 (100111) +3 + -27 = -24 (101000) +3 + -26 = -23 (101001) +3 + -25 = -22 (101010) +3 + -24 = -21 (101011) +3 + -23 = -20 (101100) +3 + -22 = -19 (101101) +3 + -21 = -18 (101110) +3 + -20 = -17 (101111) +3 + -19 = -16 (110000) +3 + -18 = -15 (110001) +3 + -17 = -14 (110010) +3 + -16 = -13 (110011) +3 + -15 = -12 (110100) +3 + -14 = -11 (110101) +3 + -13 = -10 (110110) +3 + -12 = -9 (110111) +3 + -11 = -8 (111000) +3 + -10 = -7 (111001) +3 + -9 = -6 (111010) +3 + -8 = -5 (111011) +3 + -7 = -4 (111100) +3 + -6 = -3 (111101) +3 + -5 = -2 (111110) +3 + -4 = -1 (111111) +3 + -3 = 0 (000000) +3 + -2 = 1 (000001) +3 + -1 = 2 (000010) +4 + 0 = 4 (000100) +4 + 1 = 5 (000101) +4 + 2 = 6 (000110) +4 + 3 = 7 (000111) +4 + 4 = 8 (001000) +4 + 5 = 9 (001001) +4 + 6 = 10 (001010) +4 + 7 = 11 (001011) +4 + 8 = 12 (001100) +4 + 9 = 13 (001101) +4 + 10 = 14 (001110) +4 + 11 = 15 (001111) +4 + 12 = 16 (010000) +4 + 13 = 17 (010001) +4 + 14 = 18 (010010) +4 + 15 = 19 (010011) +4 + 16 = 20 (010100) +4 + 17 = 21 (010101) +4 + 18 = 22 (010110) +4 + 19 = 23 (010111) +4 + 20 = 24 (011000) +4 + 21 = 25 (011001) +4 + 22 = 26 (011010) +4 + 23 = 27 (011011) +4 + 24 = 28 (011100) +4 + 25 = 29 (011101) +4 + 26 = 30 (011110) +4 + 27 = 31 (011111) +4 + 28 = -32 (100000) +4 + 29 = -31 (100001) +4 + 30 = -30 (100010) +4 + 31 = -29 (100011) +4 + -32 = -28 (100100) +4 + -31 = -27 (100101) +4 + -30 = -26 (100110) +4 + -29 = -25 (100111) +4 + -28 = -24 (101000) +4 + -27 = -23 (101001) +4 + -26 = -22 (101010) +4 + -25 = -21 (101011) +4 + -24 = -20 (101100) +4 + -23 = -19 (101101) +4 + -22 = -18 (101110) +4 + -21 = -17 (101111) +4 + -20 = -16 (110000) +4 + -19 = -15 (110001) +4 + -18 = -14 (110010) +4 + -17 = -13 (110011) +4 + -16 = -12 (110100) +4 + -15 = -11 (110101) +4 + -14 = -10 (110110) +4 + -13 = -9 (110111) +4 + -12 = -8 (111000) +4 + -11 = -7 (111001) +4 + -10 = -6 (111010) +4 + -9 = -5 (111011) +4 + -8 = -4 (111100) +4 + -7 = -3 (111101) +4 + -6 = -2 (111110) +4 + -5 = -1 (111111) +4 + -4 = 0 (000000) +4 + -3 = 1 (000001) +4 + -2 = 2 (000010) +4 + -1 = 3 (000011) +5 + 0 = 5 (000101) +5 + 1 = 6 (000110) +5 + 2 = 7 (000111) +5 + 3 = 8 (001000) +5 + 4 = 9 (001001) +5 + 5 = 10 (001010) +5 + 6 = 11 (001011) +5 + 7 = 12 (001100) +5 + 8 = 13 (001101) +5 + 9 = 14 (001110) +5 + 10 = 15 (001111) +5 + 11 = 16 (010000) +5 + 12 = 17 (010001) +5 + 13 = 18 (010010) +5 + 14 = 19 (010011) +5 + 15 = 20 (010100) +5 + 16 = 21 (010101) +5 + 17 = 22 (010110) +5 + 18 = 23 (010111) +5 + 19 = 24 (011000) +5 + 20 = 25 (011001) +5 + 21 = 26 (011010) +5 + 22 = 27 (011011) +5 + 23 = 28 (011100) +5 + 24 = 29 (011101) +5 + 25 = 30 (011110) +5 + 26 = 31 (011111) +5 + 27 = -32 (100000) +5 + 28 = -31 (100001) +5 + 29 = -30 (100010) +5 + 30 = -29 (100011) +5 + 31 = -28 (100100) +5 + -32 = -27 (100101) +5 + -31 = -26 (100110) +5 + -30 = -25 (100111) +5 + -29 = -24 (101000) +5 + -28 = -23 (101001) +5 + -27 = -22 (101010) +5 + -26 = -21 (101011) +5 + -25 = -20 (101100) +5 + -24 = -19 (101101) +5 + -23 = -18 (101110) +5 + -22 = -17 (101111) +5 + -21 = -16 (110000) +5 + -20 = -15 (110001) +5 + -19 = -14 (110010) +5 + -18 = -13 (110011) +5 + -17 = -12 (110100) +5 + -16 = -11 (110101) +5 + -15 = -10 (110110) +5 + -14 = -9 (110111) +5 + -13 = -8 (111000) +5 + -12 = -7 (111001) +5 + -11 = -6 (111010) +5 + -10 = -5 (111011) +5 + -9 = -4 (111100) +5 + -8 = -3 (111101) +5 + -7 = -2 (111110) +5 + -6 = -1 (111111) +5 + -5 = 0 (000000) +5 + -4 = 1 (000001) +5 + -3 = 2 (000010) +5 + -2 = 3 (000011) +5 + -1 = 4 (000100) +6 + 0 = 6 (000110) +6 + 1 = 7 (000111) +6 + 2 = 8 (001000) +6 + 3 = 9 (001001) +6 + 4 = 10 (001010) +6 + 5 = 11 (001011) +6 + 6 = 12 (001100) +6 + 7 = 13 (001101) +6 + 8 = 14 (001110) +6 + 9 = 15 (001111) +6 + 10 = 16 (010000) +6 + 11 = 17 (010001) +6 + 12 = 18 (010010) +6 + 13 = 19 (010011) +6 + 14 = 20 (010100) +6 + 15 = 21 (010101) +6 + 16 = 22 (010110) +6 + 17 = 23 (010111) +6 + 18 = 24 (011000) +6 + 19 = 25 (011001) +6 + 20 = 26 (011010) +6 + 21 = 27 (011011) +6 + 22 = 28 (011100) +6 + 23 = 29 (011101) +6 + 24 = 30 (011110) +6 + 25 = 31 (011111) +6 + 26 = -32 (100000) +6 + 27 = -31 (100001) +6 + 28 = -30 (100010) +6 + 29 = -29 (100011) +6 + 30 = -28 (100100) +6 + 31 = -27 (100101) +6 + -32 = -26 (100110) +6 + -31 = -25 (100111) +6 + -30 = -24 (101000) +6 + -29 = -23 (101001) +6 + -28 = -22 (101010) +6 + -27 = -21 (101011) +6 + -26 = -20 (101100) +6 + -25 = -19 (101101) +6 + -24 = -18 (101110) +6 + -23 = -17 (101111) +6 + -22 = -16 (110000) +6 + -21 = -15 (110001) +6 + -20 = -14 (110010) +6 + -19 = -13 (110011) +6 + -18 = -12 (110100) +6 + -17 = -11 (110101) +6 + -16 = -10 (110110) +6 + -15 = -9 (110111) +6 + -14 = -8 (111000) +6 + -13 = -7 (111001) +6 + -12 = -6 (111010) +6 + -11 = -5 (111011) +6 + -10 = -4 (111100) +6 + -9 = -3 (111101) +6 + -8 = -2 (111110) +6 + -7 = -1 (111111) +6 + -6 = 0 (000000) +6 + -5 = 1 (000001) +6 + -4 = 2 (000010) +6 + -3 = 3 (000011) +6 + -2 = 4 (000100) +6 + -1 = 5 (000101) +7 + 0 = 7 (000111) +7 + 1 = 8 (001000) +7 + 2 = 9 (001001) +7 + 3 = 10 (001010) +7 + 4 = 11 (001011) +7 + 5 = 12 (001100) +7 + 6 = 13 (001101) +7 + 7 = 14 (001110) +7 + 8 = 15 (001111) +7 + 9 = 16 (010000) +7 + 10 = 17 (010001) +7 + 11 = 18 (010010) +7 + 12 = 19 (010011) +7 + 13 = 20 (010100) +7 + 14 = 21 (010101) +7 + 15 = 22 (010110) +7 + 16 = 23 (010111) +7 + 17 = 24 (011000) +7 + 18 = 25 (011001) +7 + 19 = 26 (011010) +7 + 20 = 27 (011011) +7 + 21 = 28 (011100) +7 + 22 = 29 (011101) +7 + 23 = 30 (011110) +7 + 24 = 31 (011111) +7 + 25 = -32 (100000) +7 + 26 = -31 (100001) +7 + 27 = -30 (100010) +7 + 28 = -29 (100011) +7 + 29 = -28 (100100) +7 + 30 = -27 (100101) +7 + 31 = -26 (100110) +7 + -32 = -25 (100111) +7 + -31 = -24 (101000) +7 + -30 = -23 (101001) +7 + -29 = -22 (101010) +7 + -28 = -21 (101011) +7 + -27 = -20 (101100) +7 + -26 = -19 (101101) +7 + -25 = -18 (101110) +7 + -24 = -17 (101111) +7 + -23 = -16 (110000) +7 + -22 = -15 (110001) +7 + -21 = -14 (110010) +7 + -20 = -13 (110011) +7 + -19 = -12 (110100) +7 + -18 = -11 (110101) +7 + -17 = -10 (110110) +7 + -16 = -9 (110111) +7 + -15 = -8 (111000) +7 + -14 = -7 (111001) +7 + -13 = -6 (111010) +7 + -12 = -5 (111011) +7 + -11 = -4 (111100) +7 + -10 = -3 (111101) +7 + -9 = -2 (111110) +7 + -8 = -1 (111111) +7 + -7 = 0 (000000) +7 + -6 = 1 (000001) +7 + -5 = 2 (000010) +7 + -4 = 3 (000011) +7 + -3 = 4 (000100) +7 + -2 = 5 (000101) +7 + -1 = 6 (000110) +-8 + 0 = -8 (111000) +-8 + 1 = -7 (111001) +-8 + 2 = -6 (111010) +-8 + 3 = -5 (111011) +-8 + 4 = -4 (111100) +-8 + 5 = -3 (111101) +-8 + 6 = -2 (111110) +-8 + 7 = -1 (111111) +-8 + 8 = 0 (000000) +-8 + 9 = 1 (000001) +-8 + 10 = 2 (000010) +-8 + 11 = 3 (000011) +-8 + 12 = 4 (000100) +-8 + 13 = 5 (000101) +-8 + 14 = 6 (000110) +-8 + 15 = 7 (000111) +-8 + 16 = 8 (001000) +-8 + 17 = 9 (001001) +-8 + 18 = 10 (001010) +-8 + 19 = 11 (001011) +-8 + 20 = 12 (001100) +-8 + 21 = 13 (001101) +-8 + 22 = 14 (001110) +-8 + 23 = 15 (001111) +-8 + 24 = 16 (010000) +-8 + 25 = 17 (010001) +-8 + 26 = 18 (010010) +-8 + 27 = 19 (010011) +-8 + 28 = 20 (010100) +-8 + 29 = 21 (010101) +-8 + 30 = 22 (010110) +-8 + 31 = 23 (010111) +-8 + -32 = 24 (011000) +-8 + -31 = 25 (011001) +-8 + -30 = 26 (011010) +-8 + -29 = 27 (011011) +-8 + -28 = 28 (011100) +-8 + -27 = 29 (011101) +-8 + -26 = 30 (011110) +-8 + -25 = 31 (011111) +-8 + -24 = -32 (100000) +-8 + -23 = -31 (100001) +-8 + -22 = -30 (100010) +-8 + -21 = -29 (100011) +-8 + -20 = -28 (100100) +-8 + -19 = -27 (100101) +-8 + -18 = -26 (100110) +-8 + -17 = -25 (100111) +-8 + -16 = -24 (101000) +-8 + -15 = -23 (101001) +-8 + -14 = -22 (101010) +-8 + -13 = -21 (101011) +-8 + -12 = -20 (101100) +-8 + -11 = -19 (101101) +-8 + -10 = -18 (101110) +-8 + -9 = -17 (101111) +-8 + -8 = -16 (110000) +-8 + -7 = -15 (110001) +-8 + -6 = -14 (110010) +-8 + -5 = -13 (110011) +-8 + -4 = -12 (110100) +-8 + -3 = -11 (110101) +-8 + -2 = -10 (110110) +-8 + -1 = -9 (110111) +-7 + 0 = -7 (111001) +-7 + 1 = -6 (111010) +-7 + 2 = -5 (111011) +-7 + 3 = -4 (111100) +-7 + 4 = -3 (111101) +-7 + 5 = -2 (111110) +-7 + 6 = -1 (111111) +-7 + 7 = 0 (000000) +-7 + 8 = 1 (000001) +-7 + 9 = 2 (000010) +-7 + 10 = 3 (000011) +-7 + 11 = 4 (000100) +-7 + 12 = 5 (000101) +-7 + 13 = 6 (000110) +-7 + 14 = 7 (000111) +-7 + 15 = 8 (001000) +-7 + 16 = 9 (001001) +-7 + 17 = 10 (001010) +-7 + 18 = 11 (001011) +-7 + 19 = 12 (001100) +-7 + 20 = 13 (001101) +-7 + 21 = 14 (001110) +-7 + 22 = 15 (001111) +-7 + 23 = 16 (010000) +-7 + 24 = 17 (010001) +-7 + 25 = 18 (010010) +-7 + 26 = 19 (010011) +-7 + 27 = 20 (010100) +-7 + 28 = 21 (010101) +-7 + 29 = 22 (010110) +-7 + 30 = 23 (010111) +-7 + 31 = 24 (011000) +-7 + -32 = 25 (011001) +-7 + -31 = 26 (011010) +-7 + -30 = 27 (011011) +-7 + -29 = 28 (011100) +-7 + -28 = 29 (011101) +-7 + -27 = 30 (011110) +-7 + -26 = 31 (011111) +-7 + -25 = -32 (100000) +-7 + -24 = -31 (100001) +-7 + -23 = -30 (100010) +-7 + -22 = -29 (100011) +-7 + -21 = -28 (100100) +-7 + -20 = -27 (100101) +-7 + -19 = -26 (100110) +-7 + -18 = -25 (100111) +-7 + -17 = -24 (101000) +-7 + -16 = -23 (101001) +-7 + -15 = -22 (101010) +-7 + -14 = -21 (101011) +-7 + -13 = -20 (101100) +-7 + -12 = -19 (101101) +-7 + -11 = -18 (101110) +-7 + -10 = -17 (101111) +-7 + -9 = -16 (110000) +-7 + -8 = -15 (110001) +-7 + -7 = -14 (110010) +-7 + -6 = -13 (110011) +-7 + -5 = -12 (110100) +-7 + -4 = -11 (110101) +-7 + -3 = -10 (110110) +-7 + -2 = -9 (110111) +-7 + -1 = -8 (111000) +-6 + 0 = -6 (111010) +-6 + 1 = -5 (111011) +-6 + 2 = -4 (111100) +-6 + 3 = -3 (111101) +-6 + 4 = -2 (111110) +-6 + 5 = -1 (111111) +-6 + 6 = 0 (000000) +-6 + 7 = 1 (000001) +-6 + 8 = 2 (000010) +-6 + 9 = 3 (000011) +-6 + 10 = 4 (000100) +-6 + 11 = 5 (000101) +-6 + 12 = 6 (000110) +-6 + 13 = 7 (000111) +-6 + 14 = 8 (001000) +-6 + 15 = 9 (001001) +-6 + 16 = 10 (001010) +-6 + 17 = 11 (001011) +-6 + 18 = 12 (001100) +-6 + 19 = 13 (001101) +-6 + 20 = 14 (001110) +-6 + 21 = 15 (001111) +-6 + 22 = 16 (010000) +-6 + 23 = 17 (010001) +-6 + 24 = 18 (010010) +-6 + 25 = 19 (010011) +-6 + 26 = 20 (010100) +-6 + 27 = 21 (010101) +-6 + 28 = 22 (010110) +-6 + 29 = 23 (010111) +-6 + 30 = 24 (011000) +-6 + 31 = 25 (011001) +-6 + -32 = 26 (011010) +-6 + -31 = 27 (011011) +-6 + -30 = 28 (011100) +-6 + -29 = 29 (011101) +-6 + -28 = 30 (011110) +-6 + -27 = 31 (011111) +-6 + -26 = -32 (100000) +-6 + -25 = -31 (100001) +-6 + -24 = -30 (100010) +-6 + -23 = -29 (100011) +-6 + -22 = -28 (100100) +-6 + -21 = -27 (100101) +-6 + -20 = -26 (100110) +-6 + -19 = -25 (100111) +-6 + -18 = -24 (101000) +-6 + -17 = -23 (101001) +-6 + -16 = -22 (101010) +-6 + -15 = -21 (101011) +-6 + -14 = -20 (101100) +-6 + -13 = -19 (101101) +-6 + -12 = -18 (101110) +-6 + -11 = -17 (101111) +-6 + -10 = -16 (110000) +-6 + -9 = -15 (110001) +-6 + -8 = -14 (110010) +-6 + -7 = -13 (110011) +-6 + -6 = -12 (110100) +-6 + -5 = -11 (110101) +-6 + -4 = -10 (110110) +-6 + -3 = -9 (110111) +-6 + -2 = -8 (111000) +-6 + -1 = -7 (111001) +-5 + 0 = -5 (111011) +-5 + 1 = -4 (111100) +-5 + 2 = -3 (111101) +-5 + 3 = -2 (111110) +-5 + 4 = -1 (111111) +-5 + 5 = 0 (000000) +-5 + 6 = 1 (000001) +-5 + 7 = 2 (000010) +-5 + 8 = 3 (000011) +-5 + 9 = 4 (000100) +-5 + 10 = 5 (000101) +-5 + 11 = 6 (000110) +-5 + 12 = 7 (000111) +-5 + 13 = 8 (001000) +-5 + 14 = 9 (001001) +-5 + 15 = 10 (001010) +-5 + 16 = 11 (001011) +-5 + 17 = 12 (001100) +-5 + 18 = 13 (001101) +-5 + 19 = 14 (001110) +-5 + 20 = 15 (001111) +-5 + 21 = 16 (010000) +-5 + 22 = 17 (010001) +-5 + 23 = 18 (010010) +-5 + 24 = 19 (010011) +-5 + 25 = 20 (010100) +-5 + 26 = 21 (010101) +-5 + 27 = 22 (010110) +-5 + 28 = 23 (010111) +-5 + 29 = 24 (011000) +-5 + 30 = 25 (011001) +-5 + 31 = 26 (011010) +-5 + -32 = 27 (011011) +-5 + -31 = 28 (011100) +-5 + -30 = 29 (011101) +-5 + -29 = 30 (011110) +-5 + -28 = 31 (011111) +-5 + -27 = -32 (100000) +-5 + -26 = -31 (100001) +-5 + -25 = -30 (100010) +-5 + -24 = -29 (100011) +-5 + -23 = -28 (100100) +-5 + -22 = -27 (100101) +-5 + -21 = -26 (100110) +-5 + -20 = -25 (100111) +-5 + -19 = -24 (101000) +-5 + -18 = -23 (101001) +-5 + -17 = -22 (101010) +-5 + -16 = -21 (101011) +-5 + -15 = -20 (101100) +-5 + -14 = -19 (101101) +-5 + -13 = -18 (101110) +-5 + -12 = -17 (101111) +-5 + -11 = -16 (110000) +-5 + -10 = -15 (110001) +-5 + -9 = -14 (110010) +-5 + -8 = -13 (110011) +-5 + -7 = -12 (110100) +-5 + -6 = -11 (110101) +-5 + -5 = -10 (110110) +-5 + -4 = -9 (110111) +-5 + -3 = -8 (111000) +-5 + -2 = -7 (111001) +-5 + -1 = -6 (111010) +-4 + 0 = -4 (111100) +-4 + 1 = -3 (111101) +-4 + 2 = -2 (111110) +-4 + 3 = -1 (111111) +-4 + 4 = 0 (000000) +-4 + 5 = 1 (000001) +-4 + 6 = 2 (000010) +-4 + 7 = 3 (000011) +-4 + 8 = 4 (000100) +-4 + 9 = 5 (000101) +-4 + 10 = 6 (000110) +-4 + 11 = 7 (000111) +-4 + 12 = 8 (001000) +-4 + 13 = 9 (001001) +-4 + 14 = 10 (001010) +-4 + 15 = 11 (001011) +-4 + 16 = 12 (001100) +-4 + 17 = 13 (001101) +-4 + 18 = 14 (001110) +-4 + 19 = 15 (001111) +-4 + 20 = 16 (010000) +-4 + 21 = 17 (010001) +-4 + 22 = 18 (010010) +-4 + 23 = 19 (010011) +-4 + 24 = 20 (010100) +-4 + 25 = 21 (010101) +-4 + 26 = 22 (010110) +-4 + 27 = 23 (010111) +-4 + 28 = 24 (011000) +-4 + 29 = 25 (011001) +-4 + 30 = 26 (011010) +-4 + 31 = 27 (011011) +-4 + -32 = 28 (011100) +-4 + -31 = 29 (011101) +-4 + -30 = 30 (011110) +-4 + -29 = 31 (011111) +-4 + -28 = -32 (100000) +-4 + -27 = -31 (100001) +-4 + -26 = -30 (100010) +-4 + -25 = -29 (100011) +-4 + -24 = -28 (100100) +-4 + -23 = -27 (100101) +-4 + -22 = -26 (100110) +-4 + -21 = -25 (100111) +-4 + -20 = -24 (101000) +-4 + -19 = -23 (101001) +-4 + -18 = -22 (101010) +-4 + -17 = -21 (101011) +-4 + -16 = -20 (101100) +-4 + -15 = -19 (101101) +-4 + -14 = -18 (101110) +-4 + -13 = -17 (101111) +-4 + -12 = -16 (110000) +-4 + -11 = -15 (110001) +-4 + -10 = -14 (110010) +-4 + -9 = -13 (110011) +-4 + -8 = -12 (110100) +-4 + -7 = -11 (110101) +-4 + -6 = -10 (110110) +-4 + -5 = -9 (110111) +-4 + -4 = -8 (111000) +-4 + -3 = -7 (111001) +-4 + -2 = -6 (111010) +-4 + -1 = -5 (111011) +-3 + 0 = -3 (111101) +-3 + 1 = -2 (111110) +-3 + 2 = -1 (111111) +-3 + 3 = 0 (000000) +-3 + 4 = 1 (000001) +-3 + 5 = 2 (000010) +-3 + 6 = 3 (000011) +-3 + 7 = 4 (000100) +-3 + 8 = 5 (000101) +-3 + 9 = 6 (000110) +-3 + 10 = 7 (000111) +-3 + 11 = 8 (001000) +-3 + 12 = 9 (001001) +-3 + 13 = 10 (001010) +-3 + 14 = 11 (001011) +-3 + 15 = 12 (001100) +-3 + 16 = 13 (001101) +-3 + 17 = 14 (001110) +-3 + 18 = 15 (001111) +-3 + 19 = 16 (010000) +-3 + 20 = 17 (010001) +-3 + 21 = 18 (010010) +-3 + 22 = 19 (010011) +-3 + 23 = 20 (010100) +-3 + 24 = 21 (010101) +-3 + 25 = 22 (010110) +-3 + 26 = 23 (010111) +-3 + 27 = 24 (011000) +-3 + 28 = 25 (011001) +-3 + 29 = 26 (011010) +-3 + 30 = 27 (011011) +-3 + 31 = 28 (011100) +-3 + -32 = 29 (011101) +-3 + -31 = 30 (011110) +-3 + -30 = 31 (011111) +-3 + -29 = -32 (100000) +-3 + -28 = -31 (100001) +-3 + -27 = -30 (100010) +-3 + -26 = -29 (100011) +-3 + -25 = -28 (100100) +-3 + -24 = -27 (100101) +-3 + -23 = -26 (100110) +-3 + -22 = -25 (100111) +-3 + -21 = -24 (101000) +-3 + -20 = -23 (101001) +-3 + -19 = -22 (101010) +-3 + -18 = -21 (101011) +-3 + -17 = -20 (101100) +-3 + -16 = -19 (101101) +-3 + -15 = -18 (101110) +-3 + -14 = -17 (101111) +-3 + -13 = -16 (110000) +-3 + -12 = -15 (110001) +-3 + -11 = -14 (110010) +-3 + -10 = -13 (110011) +-3 + -9 = -12 (110100) +-3 + -8 = -11 (110101) +-3 + -7 = -10 (110110) +-3 + -6 = -9 (110111) +-3 + -5 = -8 (111000) +-3 + -4 = -7 (111001) +-3 + -3 = -6 (111010) +-3 + -2 = -5 (111011) +-3 + -1 = -4 (111100) +-2 + 0 = -2 (111110) +-2 + 1 = -1 (111111) +-2 + 2 = 0 (000000) +-2 + 3 = 1 (000001) +-2 + 4 = 2 (000010) +-2 + 5 = 3 (000011) +-2 + 6 = 4 (000100) +-2 + 7 = 5 (000101) +-2 + 8 = 6 (000110) +-2 + 9 = 7 (000111) +-2 + 10 = 8 (001000) +-2 + 11 = 9 (001001) +-2 + 12 = 10 (001010) +-2 + 13 = 11 (001011) +-2 + 14 = 12 (001100) +-2 + 15 = 13 (001101) +-2 + 16 = 14 (001110) +-2 + 17 = 15 (001111) +-2 + 18 = 16 (010000) +-2 + 19 = 17 (010001) +-2 + 20 = 18 (010010) +-2 + 21 = 19 (010011) +-2 + 22 = 20 (010100) +-2 + 23 = 21 (010101) +-2 + 24 = 22 (010110) +-2 + 25 = 23 (010111) +-2 + 26 = 24 (011000) +-2 + 27 = 25 (011001) +-2 + 28 = 26 (011010) +-2 + 29 = 27 (011011) +-2 + 30 = 28 (011100) +-2 + 31 = 29 (011101) +-2 + -32 = 30 (011110) +-2 + -31 = 31 (011111) +-2 + -30 = -32 (100000) +-2 + -29 = -31 (100001) +-2 + -28 = -30 (100010) +-2 + -27 = -29 (100011) +-2 + -26 = -28 (100100) +-2 + -25 = -27 (100101) +-2 + -24 = -26 (100110) +-2 + -23 = -25 (100111) +-2 + -22 = -24 (101000) +-2 + -21 = -23 (101001) +-2 + -20 = -22 (101010) +-2 + -19 = -21 (101011) +-2 + -18 = -20 (101100) +-2 + -17 = -19 (101101) +-2 + -16 = -18 (101110) +-2 + -15 = -17 (101111) +-2 + -14 = -16 (110000) +-2 + -13 = -15 (110001) +-2 + -12 = -14 (110010) +-2 + -11 = -13 (110011) +-2 + -10 = -12 (110100) +-2 + -9 = -11 (110101) +-2 + -8 = -10 (110110) +-2 + -7 = -9 (110111) +-2 + -6 = -8 (111000) +-2 + -5 = -7 (111001) +-2 + -4 = -6 (111010) +-2 + -3 = -5 (111011) +-2 + -2 = -4 (111100) +-2 + -1 = -3 (111101) +-1 + 0 = -1 (111111) +-1 + 1 = 0 (000000) +-1 + 2 = 1 (000001) +-1 + 3 = 2 (000010) +-1 + 4 = 3 (000011) +-1 + 5 = 4 (000100) +-1 + 6 = 5 (000101) +-1 + 7 = 6 (000110) +-1 + 8 = 7 (000111) +-1 + 9 = 8 (001000) +-1 + 10 = 9 (001001) +-1 + 11 = 10 (001010) +-1 + 12 = 11 (001011) +-1 + 13 = 12 (001100) +-1 + 14 = 13 (001101) +-1 + 15 = 14 (001110) +-1 + 16 = 15 (001111) +-1 + 17 = 16 (010000) +-1 + 18 = 17 (010001) +-1 + 19 = 18 (010010) +-1 + 20 = 19 (010011) +-1 + 21 = 20 (010100) +-1 + 22 = 21 (010101) +-1 + 23 = 22 (010110) +-1 + 24 = 23 (010111) +-1 + 25 = 24 (011000) +-1 + 26 = 25 (011001) +-1 + 27 = 26 (011010) +-1 + 28 = 27 (011011) +-1 + 29 = 28 (011100) +-1 + 30 = 29 (011101) +-1 + 31 = 30 (011110) +-1 + -32 = 31 (011111) +-1 + -31 = -32 (100000) +-1 + -30 = -31 (100001) +-1 + -29 = -30 (100010) +-1 + -28 = -29 (100011) +-1 + -27 = -28 (100100) +-1 + -26 = -27 (100101) +-1 + -25 = -26 (100110) +-1 + -24 = -25 (100111) +-1 + -23 = -24 (101000) +-1 + -22 = -23 (101001) +-1 + -21 = -22 (101010) +-1 + -20 = -21 (101011) +-1 + -19 = -20 (101100) +-1 + -18 = -19 (101101) +-1 + -17 = -18 (101110) +-1 + -16 = -17 (101111) +-1 + -15 = -16 (110000) +-1 + -14 = -15 (110001) +-1 + -13 = -14 (110010) +-1 + -12 = -13 (110011) +-1 + -11 = -12 (110100) +-1 + -10 = -11 (110101) +-1 + -9 = -10 (110110) +-1 + -8 = -9 (110111) +-1 + -7 = -8 (111000) +-1 + -6 = -7 (111001) +-1 + -5 = -6 (111010) +-1 + -4 = -5 (111011) +-1 + -3 = -4 (111100) +-1 + -2 = -3 (111101) +-1 + -1 = -2 (111110) +0 + 0 = 0 (000000) +0 + 1 = 1 (000001) +0 + 2 = 2 (000010) +0 + 3 = 3 (000011) +0 + 4 = 4 (000100) +0 + 5 = 5 (000101) +0 + 6 = 6 (000110) +0 + 7 = 7 (000111) +0 + 8 = 8 (001000) +0 + 9 = 9 (001001) +0 + 10 = 10 (001010) +0 + 11 = 11 (001011) +0 + 12 = 12 (001100) +0 + 13 = 13 (001101) +0 + 14 = 14 (001110) +0 + 15 = 15 (001111) +0 + 16 = 16 (010000) +0 + 17 = 17 (010001) +0 + 18 = 18 (010010) +0 + 19 = 19 (010011) +0 + 20 = 20 (010100) +0 + 21 = 21 (010101) +0 + 22 = 22 (010110) +0 + 23 = 23 (010111) +0 + 24 = 24 (011000) +0 + 25 = 25 (011001) +0 + 26 = 26 (011010) +0 + 27 = 27 (011011) +0 + 28 = 28 (011100) +0 + 29 = 29 (011101) +0 + 30 = 30 (011110) +0 + 31 = 31 (011111) +0 + -32 = -32 (100000) +0 + -31 = -31 (100001) +0 + -30 = -30 (100010) +0 + -29 = -29 (100011) +0 + -28 = -28 (100100) +0 + -27 = -27 (100101) +0 + -26 = -26 (100110) +0 + -25 = -25 (100111) +0 + -24 = -24 (101000) +0 + -23 = -23 (101001) +0 + -22 = -22 (101010) +0 + -21 = -21 (101011) +0 + -20 = -20 (101100) +0 + -19 = -19 (101101) +0 + -18 = -18 (101110) +0 + -17 = -17 (101111) +0 + -16 = -16 (110000) +0 + -15 = -15 (110001) +0 + -14 = -14 (110010) +0 + -13 = -13 (110011) +0 + -12 = -12 (110100) +0 + -11 = -11 (110101) +0 + -10 = -10 (110110) +0 + -9 = -9 (110111) +0 + -8 = -8 (111000) +0 + -7 = -7 (111001) +0 + -6 = -6 (111010) +0 + -5 = -5 (111011) +0 + -4 = -4 (111100) +0 + -3 = -3 (111101) +0 + -2 = -2 (111110) +0 + -1 = -1 (111111) +1 + 0 = 1 (000001) +1 + 1 = 2 (000010) +1 + 2 = 3 (000011) +1 + 3 = 4 (000100) +1 + 4 = 5 (000101) +1 + 5 = 6 (000110) +1 + 6 = 7 (000111) +1 + 7 = 8 (001000) +1 + 8 = 9 (001001) +1 + 9 = 10 (001010) +1 + 10 = 11 (001011) +1 + 11 = 12 (001100) +1 + 12 = 13 (001101) +1 + 13 = 14 (001110) +1 + 14 = 15 (001111) +1 + 15 = 16 (010000) +1 + 16 = 17 (010001) +1 + 17 = 18 (010010) +1 + 18 = 19 (010011) +1 + 19 = 20 (010100) +1 + 20 = 21 (010101) +1 + 21 = 22 (010110) +1 + 22 = 23 (010111) +1 + 23 = 24 (011000) +1 + 24 = 25 (011001) +1 + 25 = 26 (011010) +1 + 26 = 27 (011011) +1 + 27 = 28 (011100) +1 + 28 = 29 (011101) +1 + 29 = 30 (011110) +1 + 30 = 31 (011111) +1 + 31 = -32 (100000) +1 + -32 = -31 (100001) +1 + -31 = -30 (100010) +1 + -30 = -29 (100011) +1 + -29 = -28 (100100) +1 + -28 = -27 (100101) +1 + -27 = -26 (100110) +1 + -26 = -25 (100111) +1 + -25 = -24 (101000) +1 + -24 = -23 (101001) +1 + -23 = -22 (101010) +1 + -22 = -21 (101011) +1 + -21 = -20 (101100) +1 + -20 = -19 (101101) +1 + -19 = -18 (101110) +1 + -18 = -17 (101111) +1 + -17 = -16 (110000) +1 + -16 = -15 (110001) +1 + -15 = -14 (110010) +1 + -14 = -13 (110011) +1 + -13 = -12 (110100) +1 + -12 = -11 (110101) +1 + -11 = -10 (110110) +1 + -10 = -9 (110111) +1 + -9 = -8 (111000) +1 + -8 = -7 (111001) +1 + -7 = -6 (111010) +1 + -6 = -5 (111011) +1 + -5 = -4 (111100) +1 + -4 = -3 (111101) +1 + -3 = -2 (111110) +1 + -2 = -1 (111111) +1 + -1 = 0 (000000) +2 + 0 = 2 (000010) +2 + 1 = 3 (000011) +2 + 2 = 4 (000100) +2 + 3 = 5 (000101) +2 + 4 = 6 (000110) +2 + 5 = 7 (000111) +2 + 6 = 8 (001000) +2 + 7 = 9 (001001) +2 + 8 = 10 (001010) +2 + 9 = 11 (001011) +2 + 10 = 12 (001100) +2 + 11 = 13 (001101) +2 + 12 = 14 (001110) +2 + 13 = 15 (001111) +2 + 14 = 16 (010000) +2 + 15 = 17 (010001) +2 + 16 = 18 (010010) +2 + 17 = 19 (010011) +2 + 18 = 20 (010100) +2 + 19 = 21 (010101) +2 + 20 = 22 (010110) +2 + 21 = 23 (010111) +2 + 22 = 24 (011000) +2 + 23 = 25 (011001) +2 + 24 = 26 (011010) +2 + 25 = 27 (011011) +2 + 26 = 28 (011100) +2 + 27 = 29 (011101) +2 + 28 = 30 (011110) +2 + 29 = 31 (011111) +2 + 30 = -32 (100000) +2 + 31 = -31 (100001) +2 + -32 = -30 (100010) +2 + -31 = -29 (100011) +2 + -30 = -28 (100100) +2 + -29 = -27 (100101) +2 + -28 = -26 (100110) +2 + -27 = -25 (100111) +2 + -26 = -24 (101000) +2 + -25 = -23 (101001) +2 + -24 = -22 (101010) +2 + -23 = -21 (101011) +2 + -22 = -20 (101100) +2 + -21 = -19 (101101) +2 + -20 = -18 (101110) +2 + -19 = -17 (101111) +2 + -18 = -16 (110000) +2 + -17 = -15 (110001) +2 + -16 = -14 (110010) +2 + -15 = -13 (110011) +2 + -14 = -12 (110100) +2 + -13 = -11 (110101) +2 + -12 = -10 (110110) +2 + -11 = -9 (110111) +2 + -10 = -8 (111000) +2 + -9 = -7 (111001) +2 + -8 = -6 (111010) +2 + -7 = -5 (111011) +2 + -6 = -4 (111100) +2 + -5 = -3 (111101) +2 + -4 = -2 (111110) +2 + -3 = -1 (111111) +2 + -2 = 0 (000000) +2 + -1 = 1 (000001) +3 + 0 = 3 (000011) +3 + 1 = 4 (000100) +3 + 2 = 5 (000101) +3 + 3 = 6 (000110) +3 + 4 = 7 (000111) +3 + 5 = 8 (001000) +3 + 6 = 9 (001001) +3 + 7 = 10 (001010) +3 + 8 = 11 (001011) +3 + 9 = 12 (001100) +3 + 10 = 13 (001101) +3 + 11 = 14 (001110) +3 + 12 = 15 (001111) +3 + 13 = 16 (010000) +3 + 14 = 17 (010001) +3 + 15 = 18 (010010) +3 + 16 = 19 (010011) +3 + 17 = 20 (010100) +3 + 18 = 21 (010101) +3 + 19 = 22 (010110) +3 + 20 = 23 (010111) +3 + 21 = 24 (011000) +3 + 22 = 25 (011001) +3 + 23 = 26 (011010) +3 + 24 = 27 (011011) +3 + 25 = 28 (011100) +3 + 26 = 29 (011101) +3 + 27 = 30 (011110) +3 + 28 = 31 (011111) +3 + 29 = -32 (100000) +3 + 30 = -31 (100001) +3 + 31 = -30 (100010) +3 + -32 = -29 (100011) +3 + -31 = -28 (100100) +3 + -30 = -27 (100101) +3 + -29 = -26 (100110) +3 + -28 = -25 (100111) +3 + -27 = -24 (101000) +3 + -26 = -23 (101001) +3 + -25 = -22 (101010) +3 + -24 = -21 (101011) +3 + -23 = -20 (101100) +3 + -22 = -19 (101101) +3 + -21 = -18 (101110) +3 + -20 = -17 (101111) +3 + -19 = -16 (110000) +3 + -18 = -15 (110001) +3 + -17 = -14 (110010) +3 + -16 = -13 (110011) +3 + -15 = -12 (110100) +3 + -14 = -11 (110101) +3 + -13 = -10 (110110) +3 + -12 = -9 (110111) +3 + -11 = -8 (111000) +3 + -10 = -7 (111001) +3 + -9 = -6 (111010) +3 + -8 = -5 (111011) +3 + -7 = -4 (111100) +3 + -6 = -3 (111101) +3 + -5 = -2 (111110) +3 + -4 = -1 (111111) +3 + -3 = 0 (000000) +3 + -2 = 1 (000001) +3 + -1 = 2 (000010) +4 + 0 = 4 (000100) +4 + 1 = 5 (000101) +4 + 2 = 6 (000110) +4 + 3 = 7 (000111) +4 + 4 = 8 (001000) +4 + 5 = 9 (001001) +4 + 6 = 10 (001010) +4 + 7 = 11 (001011) +4 + 8 = 12 (001100) +4 + 9 = 13 (001101) +4 + 10 = 14 (001110) +4 + 11 = 15 (001111) +4 + 12 = 16 (010000) +4 + 13 = 17 (010001) +4 + 14 = 18 (010010) +4 + 15 = 19 (010011) +4 + 16 = 20 (010100) +4 + 17 = 21 (010101) +4 + 18 = 22 (010110) +4 + 19 = 23 (010111) +4 + 20 = 24 (011000) +4 + 21 = 25 (011001) +4 + 22 = 26 (011010) +4 + 23 = 27 (011011) +4 + 24 = 28 (011100) +4 + 25 = 29 (011101) +4 + 26 = 30 (011110) +4 + 27 = 31 (011111) +4 + 28 = -32 (100000) +4 + 29 = -31 (100001) +4 + 30 = -30 (100010) +4 + 31 = -29 (100011) +4 + -32 = -28 (100100) +4 + -31 = -27 (100101) +4 + -30 = -26 (100110) +4 + -29 = -25 (100111) +4 + -28 = -24 (101000) +4 + -27 = -23 (101001) +4 + -26 = -22 (101010) +4 + -25 = -21 (101011) +4 + -24 = -20 (101100) +4 + -23 = -19 (101101) +4 + -22 = -18 (101110) +4 + -21 = -17 (101111) +4 + -20 = -16 (110000) +4 + -19 = -15 (110001) +4 + -18 = -14 (110010) +4 + -17 = -13 (110011) +4 + -16 = -12 (110100) +4 + -15 = -11 (110101) +4 + -14 = -10 (110110) +4 + -13 = -9 (110111) +4 + -12 = -8 (111000) +4 + -11 = -7 (111001) +4 + -10 = -6 (111010) +4 + -9 = -5 (111011) +4 + -8 = -4 (111100) +4 + -7 = -3 (111101) +4 + -6 = -2 (111110) +4 + -5 = -1 (111111) +4 + -4 = 0 (000000) +4 + -3 = 1 (000001) +4 + -2 = 2 (000010) +4 + -1 = 3 (000011) +5 + 0 = 5 (000101) +5 + 1 = 6 (000110) +5 + 2 = 7 (000111) +5 + 3 = 8 (001000) +5 + 4 = 9 (001001) +5 + 5 = 10 (001010) +5 + 6 = 11 (001011) +5 + 7 = 12 (001100) +5 + 8 = 13 (001101) +5 + 9 = 14 (001110) +5 + 10 = 15 (001111) +5 + 11 = 16 (010000) +5 + 12 = 17 (010001) +5 + 13 = 18 (010010) +5 + 14 = 19 (010011) +5 + 15 = 20 (010100) +5 + 16 = 21 (010101) +5 + 17 = 22 (010110) +5 + 18 = 23 (010111) +5 + 19 = 24 (011000) +5 + 20 = 25 (011001) +5 + 21 = 26 (011010) +5 + 22 = 27 (011011) +5 + 23 = 28 (011100) +5 + 24 = 29 (011101) +5 + 25 = 30 (011110) +5 + 26 = 31 (011111) +5 + 27 = -32 (100000) +5 + 28 = -31 (100001) +5 + 29 = -30 (100010) +5 + 30 = -29 (100011) +5 + 31 = -28 (100100) +5 + -32 = -27 (100101) +5 + -31 = -26 (100110) +5 + -30 = -25 (100111) +5 + -29 = -24 (101000) +5 + -28 = -23 (101001) +5 + -27 = -22 (101010) +5 + -26 = -21 (101011) +5 + -25 = -20 (101100) +5 + -24 = -19 (101101) +5 + -23 = -18 (101110) +5 + -22 = -17 (101111) +5 + -21 = -16 (110000) +5 + -20 = -15 (110001) +5 + -19 = -14 (110010) +5 + -18 = -13 (110011) +5 + -17 = -12 (110100) +5 + -16 = -11 (110101) +5 + -15 = -10 (110110) +5 + -14 = -9 (110111) +5 + -13 = -8 (111000) +5 + -12 = -7 (111001) +5 + -11 = -6 (111010) +5 + -10 = -5 (111011) +5 + -9 = -4 (111100) +5 + -8 = -3 (111101) +5 + -7 = -2 (111110) +5 + -6 = -1 (111111) +5 + -5 = 0 (000000) +5 + -4 = 1 (000001) +5 + -3 = 2 (000010) +5 + -2 = 3 (000011) +5 + -1 = 4 (000100) +6 + 0 = 6 (000110) +6 + 1 = 7 (000111) +6 + 2 = 8 (001000) +6 + 3 = 9 (001001) +6 + 4 = 10 (001010) +6 + 5 = 11 (001011) +6 + 6 = 12 (001100) +6 + 7 = 13 (001101) +6 + 8 = 14 (001110) +6 + 9 = 15 (001111) +6 + 10 = 16 (010000) +6 + 11 = 17 (010001) +6 + 12 = 18 (010010) +6 + 13 = 19 (010011) +6 + 14 = 20 (010100) +6 + 15 = 21 (010101) +6 + 16 = 22 (010110) +6 + 17 = 23 (010111) +6 + 18 = 24 (011000) +6 + 19 = 25 (011001) +6 + 20 = 26 (011010) +6 + 21 = 27 (011011) +6 + 22 = 28 (011100) +6 + 23 = 29 (011101) +6 + 24 = 30 (011110) +6 + 25 = 31 (011111) +6 + 26 = -32 (100000) +6 + 27 = -31 (100001) +6 + 28 = -30 (100010) +6 + 29 = -29 (100011) +6 + 30 = -28 (100100) +6 + 31 = -27 (100101) +6 + -32 = -26 (100110) +6 + -31 = -25 (100111) +6 + -30 = -24 (101000) +6 + -29 = -23 (101001) +6 + -28 = -22 (101010) +6 + -27 = -21 (101011) +6 + -26 = -20 (101100) +6 + -25 = -19 (101101) +6 + -24 = -18 (101110) +6 + -23 = -17 (101111) +6 + -22 = -16 (110000) +6 + -21 = -15 (110001) +6 + -20 = -14 (110010) +6 + -19 = -13 (110011) +6 + -18 = -12 (110100) +6 + -17 = -11 (110101) +6 + -16 = -10 (110110) +6 + -15 = -9 (110111) +6 + -14 = -8 (111000) +6 + -13 = -7 (111001) +6 + -12 = -6 (111010) +6 + -11 = -5 (111011) +6 + -10 = -4 (111100) +6 + -9 = -3 (111101) +6 + -8 = -2 (111110) +6 + -7 = -1 (111111) +6 + -6 = 0 (000000) +6 + -5 = 1 (000001) +6 + -4 = 2 (000010) +6 + -3 = 3 (000011) +6 + -2 = 4 (000100) +6 + -1 = 5 (000101) +7 + 0 = 7 (000111) +7 + 1 = 8 (001000) +7 + 2 = 9 (001001) +7 + 3 = 10 (001010) +7 + 4 = 11 (001011) +7 + 5 = 12 (001100) +7 + 6 = 13 (001101) +7 + 7 = 14 (001110) +7 + 8 = 15 (001111) +7 + 9 = 16 (010000) +7 + 10 = 17 (010001) +7 + 11 = 18 (010010) +7 + 12 = 19 (010011) +7 + 13 = 20 (010100) +7 + 14 = 21 (010101) +7 + 15 = 22 (010110) +7 + 16 = 23 (010111) +7 + 17 = 24 (011000) +7 + 18 = 25 (011001) +7 + 19 = 26 (011010) +7 + 20 = 27 (011011) +7 + 21 = 28 (011100) +7 + 22 = 29 (011101) +7 + 23 = 30 (011110) +7 + 24 = 31 (011111) +7 + 25 = -32 (100000) +7 + 26 = -31 (100001) +7 + 27 = -30 (100010) +7 + 28 = -29 (100011) +7 + 29 = -28 (100100) +7 + 30 = -27 (100101) +7 + 31 = -26 (100110) +7 + -32 = -25 (100111) +7 + -31 = -24 (101000) +7 + -30 = -23 (101001) +7 + -29 = -22 (101010) +7 + -28 = -21 (101011) +7 + -27 = -20 (101100) +7 + -26 = -19 (101101) +7 + -25 = -18 (101110) +7 + -24 = -17 (101111) +7 + -23 = -16 (110000) +7 + -22 = -15 (110001) +7 + -21 = -14 (110010) +7 + -20 = -13 (110011) +7 + -19 = -12 (110100) +7 + -18 = -11 (110101) +7 + -17 = -10 (110110) +7 + -16 = -9 (110111) +7 + -15 = -8 (111000) +7 + -14 = -7 (111001) +7 + -13 = -6 (111010) +7 + -12 = -5 (111011) +7 + -11 = -4 (111100) +7 + -10 = -3 (111101) +7 + -9 = -2 (111110) +7 + -8 = -1 (111111) +7 + -7 = 0 (000000) +7 + -6 = 1 (000001) +7 + -5 = 2 (000010) +7 + -4 = 3 (000011) +7 + -3 = 4 (000100) +7 + -2 = 5 (000101) +7 + -1 = 6 (000110) +-8 + 0 = -8 (111000) +-8 + 1 = -7 (111001) +-8 + 2 = -6 (111010) +-8 + 3 = -5 (111011) +-8 + 4 = -4 (111100) +-8 + 5 = -3 (111101) +-8 + 6 = -2 (111110) +-8 + 7 = -1 (111111) +-8 + 8 = 0 (000000) +-8 + 9 = 1 (000001) +-8 + 10 = 2 (000010) +-8 + 11 = 3 (000011) +-8 + 12 = 4 (000100) +-8 + 13 = 5 (000101) +-8 + 14 = 6 (000110) +-8 + 15 = 7 (000111) +-8 + 16 = 8 (001000) +-8 + 17 = 9 (001001) +-8 + 18 = 10 (001010) +-8 + 19 = 11 (001011) +-8 + 20 = 12 (001100) +-8 + 21 = 13 (001101) +-8 + 22 = 14 (001110) +-8 + 23 = 15 (001111) +-8 + 24 = 16 (010000) +-8 + 25 = 17 (010001) +-8 + 26 = 18 (010010) +-8 + 27 = 19 (010011) +-8 + 28 = 20 (010100) +-8 + 29 = 21 (010101) +-8 + 30 = 22 (010110) +-8 + 31 = 23 (010111) +-8 + -32 = 24 (011000) +-8 + -31 = 25 (011001) +-8 + -30 = 26 (011010) +-8 + -29 = 27 (011011) +-8 + -28 = 28 (011100) +-8 + -27 = 29 (011101) +-8 + -26 = 30 (011110) +-8 + -25 = 31 (011111) +-8 + -24 = -32 (100000) +-8 + -23 = -31 (100001) +-8 + -22 = -30 (100010) +-8 + -21 = -29 (100011) +-8 + -20 = -28 (100100) +-8 + -19 = -27 (100101) +-8 + -18 = -26 (100110) +-8 + -17 = -25 (100111) +-8 + -16 = -24 (101000) +-8 + -15 = -23 (101001) +-8 + -14 = -22 (101010) +-8 + -13 = -21 (101011) +-8 + -12 = -20 (101100) +-8 + -11 = -19 (101101) +-8 + -10 = -18 (101110) +-8 + -9 = -17 (101111) +-8 + -8 = -16 (110000) +-8 + -7 = -15 (110001) +-8 + -6 = -14 (110010) +-8 + -5 = -13 (110011) +-8 + -4 = -12 (110100) +-8 + -3 = -11 (110101) +-8 + -2 = -10 (110110) +-8 + -1 = -9 (110111) +-7 + 0 = -7 (111001) +-7 + 1 = -6 (111010) +-7 + 2 = -5 (111011) +-7 + 3 = -4 (111100) +-7 + 4 = -3 (111101) +-7 + 5 = -2 (111110) +-7 + 6 = -1 (111111) +-7 + 7 = 0 (000000) +-7 + 8 = 1 (000001) +-7 + 9 = 2 (000010) +-7 + 10 = 3 (000011) +-7 + 11 = 4 (000100) +-7 + 12 = 5 (000101) +-7 + 13 = 6 (000110) +-7 + 14 = 7 (000111) +-7 + 15 = 8 (001000) +-7 + 16 = 9 (001001) +-7 + 17 = 10 (001010) +-7 + 18 = 11 (001011) +-7 + 19 = 12 (001100) +-7 + 20 = 13 (001101) +-7 + 21 = 14 (001110) +-7 + 22 = 15 (001111) +-7 + 23 = 16 (010000) +-7 + 24 = 17 (010001) +-7 + 25 = 18 (010010) +-7 + 26 = 19 (010011) +-7 + 27 = 20 (010100) +-7 + 28 = 21 (010101) +-7 + 29 = 22 (010110) +-7 + 30 = 23 (010111) +-7 + 31 = 24 (011000) +-7 + -32 = 25 (011001) +-7 + -31 = 26 (011010) +-7 + -30 = 27 (011011) +-7 + -29 = 28 (011100) +-7 + -28 = 29 (011101) +-7 + -27 = 30 (011110) +-7 + -26 = 31 (011111) +-7 + -25 = -32 (100000) +-7 + -24 = -31 (100001) +-7 + -23 = -30 (100010) +-7 + -22 = -29 (100011) +-7 + -21 = -28 (100100) +-7 + -20 = -27 (100101) +-7 + -19 = -26 (100110) +-7 + -18 = -25 (100111) +-7 + -17 = -24 (101000) +-7 + -16 = -23 (101001) +-7 + -15 = -22 (101010) +-7 + -14 = -21 (101011) +-7 + -13 = -20 (101100) +-7 + -12 = -19 (101101) +-7 + -11 = -18 (101110) +-7 + -10 = -17 (101111) +-7 + -9 = -16 (110000) +-7 + -8 = -15 (110001) +-7 + -7 = -14 (110010) +-7 + -6 = -13 (110011) +-7 + -5 = -12 (110100) +-7 + -4 = -11 (110101) +-7 + -3 = -10 (110110) +-7 + -2 = -9 (110111) +-7 + -1 = -8 (111000) +-6 + 0 = -6 (111010) +-6 + 1 = -5 (111011) +-6 + 2 = -4 (111100) +-6 + 3 = -3 (111101) +-6 + 4 = -2 (111110) +-6 + 5 = -1 (111111) +-6 + 6 = 0 (000000) +-6 + 7 = 1 (000001) +-6 + 8 = 2 (000010) +-6 + 9 = 3 (000011) +-6 + 10 = 4 (000100) +-6 + 11 = 5 (000101) +-6 + 12 = 6 (000110) +-6 + 13 = 7 (000111) +-6 + 14 = 8 (001000) +-6 + 15 = 9 (001001) +-6 + 16 = 10 (001010) +-6 + 17 = 11 (001011) +-6 + 18 = 12 (001100) +-6 + 19 = 13 (001101) +-6 + 20 = 14 (001110) +-6 + 21 = 15 (001111) +-6 + 22 = 16 (010000) +-6 + 23 = 17 (010001) +-6 + 24 = 18 (010010) +-6 + 25 = 19 (010011) +-6 + 26 = 20 (010100) +-6 + 27 = 21 (010101) +-6 + 28 = 22 (010110) +-6 + 29 = 23 (010111) +-6 + 30 = 24 (011000) +-6 + 31 = 25 (011001) +-6 + -32 = 26 (011010) +-6 + -31 = 27 (011011) +-6 + -30 = 28 (011100) +-6 + -29 = 29 (011101) +-6 + -28 = 30 (011110) +-6 + -27 = 31 (011111) +-6 + -26 = -32 (100000) +-6 + -25 = -31 (100001) +-6 + -24 = -30 (100010) +-6 + -23 = -29 (100011) +-6 + -22 = -28 (100100) +-6 + -21 = -27 (100101) +-6 + -20 = -26 (100110) +-6 + -19 = -25 (100111) +-6 + -18 = -24 (101000) +-6 + -17 = -23 (101001) +-6 + -16 = -22 (101010) +-6 + -15 = -21 (101011) +-6 + -14 = -20 (101100) +-6 + -13 = -19 (101101) +-6 + -12 = -18 (101110) +-6 + -11 = -17 (101111) +-6 + -10 = -16 (110000) +-6 + -9 = -15 (110001) +-6 + -8 = -14 (110010) +-6 + -7 = -13 (110011) +-6 + -6 = -12 (110100) +-6 + -5 = -11 (110101) +-6 + -4 = -10 (110110) +-6 + -3 = -9 (110111) +-6 + -2 = -8 (111000) +-6 + -1 = -7 (111001) +-5 + 0 = -5 (111011) +-5 + 1 = -4 (111100) +-5 + 2 = -3 (111101) +-5 + 3 = -2 (111110) +-5 + 4 = -1 (111111) +-5 + 5 = 0 (000000) +-5 + 6 = 1 (000001) +-5 + 7 = 2 (000010) +-5 + 8 = 3 (000011) +-5 + 9 = 4 (000100) +-5 + 10 = 5 (000101) +-5 + 11 = 6 (000110) +-5 + 12 = 7 (000111) +-5 + 13 = 8 (001000) +-5 + 14 = 9 (001001) +-5 + 15 = 10 (001010) +-5 + 16 = 11 (001011) +-5 + 17 = 12 (001100) +-5 + 18 = 13 (001101) +-5 + 19 = 14 (001110) +-5 + 20 = 15 (001111) +-5 + 21 = 16 (010000) +-5 + 22 = 17 (010001) +-5 + 23 = 18 (010010) +-5 + 24 = 19 (010011) +-5 + 25 = 20 (010100) +-5 + 26 = 21 (010101) +-5 + 27 = 22 (010110) +-5 + 28 = 23 (010111) +-5 + 29 = 24 (011000) +-5 + 30 = 25 (011001) +-5 + 31 = 26 (011010) +-5 + -32 = 27 (011011) +-5 + -31 = 28 (011100) +-5 + -30 = 29 (011101) +-5 + -29 = 30 (011110) +-5 + -28 = 31 (011111) +-5 + -27 = -32 (100000) +-5 + -26 = -31 (100001) +-5 + -25 = -30 (100010) +-5 + -24 = -29 (100011) +-5 + -23 = -28 (100100) +-5 + -22 = -27 (100101) +-5 + -21 = -26 (100110) +-5 + -20 = -25 (100111) +-5 + -19 = -24 (101000) +-5 + -18 = -23 (101001) +-5 + -17 = -22 (101010) +-5 + -16 = -21 (101011) +-5 + -15 = -20 (101100) +-5 + -14 = -19 (101101) +-5 + -13 = -18 (101110) +-5 + -12 = -17 (101111) +-5 + -11 = -16 (110000) +-5 + -10 = -15 (110001) +-5 + -9 = -14 (110010) +-5 + -8 = -13 (110011) +-5 + -7 = -12 (110100) +-5 + -6 = -11 (110101) +-5 + -5 = -10 (110110) +-5 + -4 = -9 (110111) +-5 + -3 = -8 (111000) +-5 + -2 = -7 (111001) +-5 + -1 = -6 (111010) +-4 + 0 = -4 (111100) +-4 + 1 = -3 (111101) +-4 + 2 = -2 (111110) +-4 + 3 = -1 (111111) +-4 + 4 = 0 (000000) +-4 + 5 = 1 (000001) +-4 + 6 = 2 (000010) +-4 + 7 = 3 (000011) +-4 + 8 = 4 (000100) +-4 + 9 = 5 (000101) +-4 + 10 = 6 (000110) +-4 + 11 = 7 (000111) +-4 + 12 = 8 (001000) +-4 + 13 = 9 (001001) +-4 + 14 = 10 (001010) +-4 + 15 = 11 (001011) +-4 + 16 = 12 (001100) +-4 + 17 = 13 (001101) +-4 + 18 = 14 (001110) +-4 + 19 = 15 (001111) +-4 + 20 = 16 (010000) +-4 + 21 = 17 (010001) +-4 + 22 = 18 (010010) +-4 + 23 = 19 (010011) +-4 + 24 = 20 (010100) +-4 + 25 = 21 (010101) +-4 + 26 = 22 (010110) +-4 + 27 = 23 (010111) +-4 + 28 = 24 (011000) +-4 + 29 = 25 (011001) +-4 + 30 = 26 (011010) +-4 + 31 = 27 (011011) +-4 + -32 = 28 (011100) +-4 + -31 = 29 (011101) +-4 + -30 = 30 (011110) +-4 + -29 = 31 (011111) +-4 + -28 = -32 (100000) +-4 + -27 = -31 (100001) +-4 + -26 = -30 (100010) +-4 + -25 = -29 (100011) +-4 + -24 = -28 (100100) +-4 + -23 = -27 (100101) +-4 + -22 = -26 (100110) +-4 + -21 = -25 (100111) +-4 + -20 = -24 (101000) +-4 + -19 = -23 (101001) +-4 + -18 = -22 (101010) +-4 + -17 = -21 (101011) +-4 + -16 = -20 (101100) +-4 + -15 = -19 (101101) +-4 + -14 = -18 (101110) +-4 + -13 = -17 (101111) +-4 + -12 = -16 (110000) +-4 + -11 = -15 (110001) +-4 + -10 = -14 (110010) +-4 + -9 = -13 (110011) +-4 + -8 = -12 (110100) +-4 + -7 = -11 (110101) +-4 + -6 = -10 (110110) +-4 + -5 = -9 (110111) +-4 + -4 = -8 (111000) +-4 + -3 = -7 (111001) +-4 + -2 = -6 (111010) +-4 + -1 = -5 (111011) +-3 + 0 = -3 (111101) +-3 + 1 = -2 (111110) +-3 + 2 = -1 (111111) +-3 + 3 = 0 (000000) +-3 + 4 = 1 (000001) +-3 + 5 = 2 (000010) +-3 + 6 = 3 (000011) +-3 + 7 = 4 (000100) +-3 + 8 = 5 (000101) +-3 + 9 = 6 (000110) +-3 + 10 = 7 (000111) +-3 + 11 = 8 (001000) +-3 + 12 = 9 (001001) +-3 + 13 = 10 (001010) +-3 + 14 = 11 (001011) +-3 + 15 = 12 (001100) +-3 + 16 = 13 (001101) +-3 + 17 = 14 (001110) +-3 + 18 = 15 (001111) +-3 + 19 = 16 (010000) +-3 + 20 = 17 (010001) +-3 + 21 = 18 (010010) +-3 + 22 = 19 (010011) +-3 + 23 = 20 (010100) +-3 + 24 = 21 (010101) +-3 + 25 = 22 (010110) +-3 + 26 = 23 (010111) +-3 + 27 = 24 (011000) +-3 + 28 = 25 (011001) +-3 + 29 = 26 (011010) +-3 + 30 = 27 (011011) +-3 + 31 = 28 (011100) +-3 + -32 = 29 (011101) +-3 + -31 = 30 (011110) +-3 + -30 = 31 (011111) +-3 + -29 = -32 (100000) +-3 + -28 = -31 (100001) +-3 + -27 = -30 (100010) +-3 + -26 = -29 (100011) +-3 + -25 = -28 (100100) +-3 + -24 = -27 (100101) +-3 + -23 = -26 (100110) +-3 + -22 = -25 (100111) +-3 + -21 = -24 (101000) +-3 + -20 = -23 (101001) +-3 + -19 = -22 (101010) +-3 + -18 = -21 (101011) +-3 + -17 = -20 (101100) +-3 + -16 = -19 (101101) +-3 + -15 = -18 (101110) +-3 + -14 = -17 (101111) +-3 + -13 = -16 (110000) +-3 + -12 = -15 (110001) +-3 + -11 = -14 (110010) +-3 + -10 = -13 (110011) +-3 + -9 = -12 (110100) +-3 + -8 = -11 (110101) +-3 + -7 = -10 (110110) +-3 + -6 = -9 (110111) +-3 + -5 = -8 (111000) +-3 + -4 = -7 (111001) +-3 + -3 = -6 (111010) +-3 + -2 = -5 (111011) +-3 + -1 = -4 (111100) +-2 + 0 = -2 (111110) +-2 + 1 = -1 (111111) +-2 + 2 = 0 (000000) +-2 + 3 = 1 (000001) +-2 + 4 = 2 (000010) +-2 + 5 = 3 (000011) +-2 + 6 = 4 (000100) +-2 + 7 = 5 (000101) +-2 + 8 = 6 (000110) +-2 + 9 = 7 (000111) +-2 + 10 = 8 (001000) +-2 + 11 = 9 (001001) +-2 + 12 = 10 (001010) +-2 + 13 = 11 (001011) +-2 + 14 = 12 (001100) +-2 + 15 = 13 (001101) +-2 + 16 = 14 (001110) +-2 + 17 = 15 (001111) +-2 + 18 = 16 (010000) +-2 + 19 = 17 (010001) +-2 + 20 = 18 (010010) +-2 + 21 = 19 (010011) +-2 + 22 = 20 (010100) +-2 + 23 = 21 (010101) +-2 + 24 = 22 (010110) +-2 + 25 = 23 (010111) +-2 + 26 = 24 (011000) +-2 + 27 = 25 (011001) +-2 + 28 = 26 (011010) +-2 + 29 = 27 (011011) +-2 + 30 = 28 (011100) +-2 + 31 = 29 (011101) +-2 + -32 = 30 (011110) +-2 + -31 = 31 (011111) +-2 + -30 = -32 (100000) +-2 + -29 = -31 (100001) +-2 + -28 = -30 (100010) +-2 + -27 = -29 (100011) +-2 + -26 = -28 (100100) +-2 + -25 = -27 (100101) +-2 + -24 = -26 (100110) +-2 + -23 = -25 (100111) +-2 + -22 = -24 (101000) +-2 + -21 = -23 (101001) +-2 + -20 = -22 (101010) +-2 + -19 = -21 (101011) +-2 + -18 = -20 (101100) +-2 + -17 = -19 (101101) +-2 + -16 = -18 (101110) +-2 + -15 = -17 (101111) +-2 + -14 = -16 (110000) +-2 + -13 = -15 (110001) +-2 + -12 = -14 (110010) +-2 + -11 = -13 (110011) +-2 + -10 = -12 (110100) +-2 + -9 = -11 (110101) +-2 + -8 = -10 (110110) +-2 + -7 = -9 (110111) +-2 + -6 = -8 (111000) +-2 + -5 = -7 (111001) +-2 + -4 = -6 (111010) +-2 + -3 = -5 (111011) +-2 + -2 = -4 (111100) +-2 + -1 = -3 (111101) +-1 + 0 = -1 (111111) +-1 + 1 = 0 (000000) +-1 + 2 = 1 (000001) +-1 + 3 = 2 (000010) +-1 + 4 = 3 (000011) +-1 + 5 = 4 (000100) +-1 + 6 = 5 (000101) +-1 + 7 = 6 (000110) +-1 + 8 = 7 (000111) +-1 + 9 = 8 (001000) +-1 + 10 = 9 (001001) +-1 + 11 = 10 (001010) +-1 + 12 = 11 (001011) +-1 + 13 = 12 (001100) +-1 + 14 = 13 (001101) +-1 + 15 = 14 (001110) +-1 + 16 = 15 (001111) +-1 + 17 = 16 (010000) +-1 + 18 = 17 (010001) +-1 + 19 = 18 (010010) +-1 + 20 = 19 (010011) +-1 + 21 = 20 (010100) +-1 + 22 = 21 (010101) +-1 + 23 = 22 (010110) +-1 + 24 = 23 (010111) +-1 + 25 = 24 (011000) +-1 + 26 = 25 (011001) +-1 + 27 = 26 (011010) +-1 + 28 = 27 (011011) +-1 + 29 = 28 (011100) +-1 + 30 = 29 (011101) +-1 + 31 = 30 (011110) +-1 + -32 = 31 (011111) +-1 + -31 = -32 (100000) +-1 + -30 = -31 (100001) +-1 + -29 = -30 (100010) +-1 + -28 = -29 (100011) +-1 + -27 = -28 (100100) +-1 + -26 = -27 (100101) +-1 + -25 = -26 (100110) +-1 + -24 = -25 (100111) +-1 + -23 = -24 (101000) +-1 + -22 = -23 (101001) +-1 + -21 = -22 (101010) +-1 + -20 = -21 (101011) +-1 + -19 = -20 (101100) +-1 + -18 = -19 (101101) +-1 + -17 = -18 (101110) +-1 + -16 = -17 (101111) +-1 + -15 = -16 (110000) +-1 + -14 = -15 (110001) +-1 + -13 = -14 (110010) +-1 + -12 = -13 (110011) +-1 + -11 = -12 (110100) +-1 + -10 = -11 (110101) +-1 + -9 = -10 (110110) +-1 + -8 = -9 (110111) +-1 + -7 = -8 (111000) +-1 + -6 = -7 (111001) +-1 + -5 = -6 (111010) +-1 + -4 = -5 (111011) +-1 + -3 = -4 (111100) +-1 + -2 = -3 (111101) +-1 + -1 = -2 (111110) +0 + 0 = 0 (000000) +0 + 1 = 1 (000001) +0 + 2 = 2 (000010) +0 + 3 = 3 (000011) +0 + 4 = 4 (000100) +0 + 5 = 5 (000101) +0 + 6 = 6 (000110) +0 + 7 = 7 (000111) +0 + 8 = 8 (001000) +0 + 9 = 9 (001001) +0 + 10 = 10 (001010) +0 + 11 = 11 (001011) +0 + 12 = 12 (001100) +0 + 13 = 13 (001101) +0 + 14 = 14 (001110) +0 + 15 = 15 (001111) +0 + 16 = 16 (010000) +0 + 17 = 17 (010001) +0 + 18 = 18 (010010) +0 + 19 = 19 (010011) +0 + 20 = 20 (010100) +0 + 21 = 21 (010101) +0 + 22 = 22 (010110) +0 + 23 = 23 (010111) +0 + 24 = 24 (011000) +0 + 25 = 25 (011001) +0 + 26 = 26 (011010) +0 + 27 = 27 (011011) +0 + 28 = 28 (011100) +0 + 29 = 29 (011101) +0 + 30 = 30 (011110) +0 + 31 = 31 (011111) +0 + -32 = -32 (100000) +0 + -31 = -31 (100001) +0 + -30 = -30 (100010) +0 + -29 = -29 (100011) +0 + -28 = -28 (100100) +0 + -27 = -27 (100101) +0 + -26 = -26 (100110) +0 + -25 = -25 (100111) +0 + -24 = -24 (101000) +0 + -23 = -23 (101001) +0 + -22 = -22 (101010) +0 + -21 = -21 (101011) +0 + -20 = -20 (101100) +0 + -19 = -19 (101101) +0 + -18 = -18 (101110) +0 + -17 = -17 (101111) +0 + -16 = -16 (110000) +0 + -15 = -15 (110001) +0 + -14 = -14 (110010) +0 + -13 = -13 (110011) +0 + -12 = -12 (110100) +0 + -11 = -11 (110101) +0 + -10 = -10 (110110) +0 + -9 = -9 (110111) +0 + -8 = -8 (111000) +0 + -7 = -7 (111001) +0 + -6 = -6 (111010) +0 + -5 = -5 (111011) +0 + -4 = -4 (111100) +0 + -3 = -3 (111101) +0 + -2 = -2 (111110) +0 + -1 = -1 (111111) +1 + 0 = 1 (000001) +1 + 1 = 2 (000010) +1 + 2 = 3 (000011) +1 + 3 = 4 (000100) +1 + 4 = 5 (000101) +1 + 5 = 6 (000110) +1 + 6 = 7 (000111) +1 + 7 = 8 (001000) +1 + 8 = 9 (001001) +1 + 9 = 10 (001010) +1 + 10 = 11 (001011) +1 + 11 = 12 (001100) +1 + 12 = 13 (001101) +1 + 13 = 14 (001110) +1 + 14 = 15 (001111) +1 + 15 = 16 (010000) +1 + 16 = 17 (010001) +1 + 17 = 18 (010010) +1 + 18 = 19 (010011) +1 + 19 = 20 (010100) +1 + 20 = 21 (010101) +1 + 21 = 22 (010110) +1 + 22 = 23 (010111) +1 + 23 = 24 (011000) +1 + 24 = 25 (011001) +1 + 25 = 26 (011010) +1 + 26 = 27 (011011) +1 + 27 = 28 (011100) +1 + 28 = 29 (011101) +1 + 29 = 30 (011110) +1 + 30 = 31 (011111) +1 + 31 = -32 (100000) +1 + -32 = -31 (100001) +1 + -31 = -30 (100010) +1 + -30 = -29 (100011) +1 + -29 = -28 (100100) +1 + -28 = -27 (100101) +1 + -27 = -26 (100110) +1 + -26 = -25 (100111) +1 + -25 = -24 (101000) +1 + -24 = -23 (101001) +1 + -23 = -22 (101010) +1 + -22 = -21 (101011) +1 + -21 = -20 (101100) +1 + -20 = -19 (101101) +1 + -19 = -18 (101110) +1 + -18 = -17 (101111) +1 + -17 = -16 (110000) +1 + -16 = -15 (110001) +1 + -15 = -14 (110010) +1 + -14 = -13 (110011) +1 + -13 = -12 (110100) +1 + -12 = -11 (110101) +1 + -11 = -10 (110110) +1 + -10 = -9 (110111) +1 + -9 = -8 (111000) +1 + -8 = -7 (111001) +1 + -7 = -6 (111010) +1 + -6 = -5 (111011) +1 + -5 = -4 (111100) +1 + -4 = -3 (111101) +1 + -3 = -2 (111110) +1 + -2 = -1 (111111) +1 + -1 = 0 (000000) +2 + 0 = 2 (000010) +2 + 1 = 3 (000011) +2 + 2 = 4 (000100) +2 + 3 = 5 (000101) +2 + 4 = 6 (000110) +2 + 5 = 7 (000111) +2 + 6 = 8 (001000) +2 + 7 = 9 (001001) +2 + 8 = 10 (001010) +2 + 9 = 11 (001011) +2 + 10 = 12 (001100) +2 + 11 = 13 (001101) +2 + 12 = 14 (001110) +2 + 13 = 15 (001111) +2 + 14 = 16 (010000) +2 + 15 = 17 (010001) +2 + 16 = 18 (010010) +2 + 17 = 19 (010011) +2 + 18 = 20 (010100) +2 + 19 = 21 (010101) +2 + 20 = 22 (010110) +2 + 21 = 23 (010111) +2 + 22 = 24 (011000) +2 + 23 = 25 (011001) +2 + 24 = 26 (011010) +2 + 25 = 27 (011011) +2 + 26 = 28 (011100) +2 + 27 = 29 (011101) +2 + 28 = 30 (011110) +2 + 29 = 31 (011111) +2 + 30 = -32 (100000) +2 + 31 = -31 (100001) +2 + -32 = -30 (100010) +2 + -31 = -29 (100011) +2 + -30 = -28 (100100) +2 + -29 = -27 (100101) +2 + -28 = -26 (100110) +2 + -27 = -25 (100111) +2 + -26 = -24 (101000) +2 + -25 = -23 (101001) +2 + -24 = -22 (101010) +2 + -23 = -21 (101011) +2 + -22 = -20 (101100) +2 + -21 = -19 (101101) +2 + -20 = -18 (101110) +2 + -19 = -17 (101111) +2 + -18 = -16 (110000) +2 + -17 = -15 (110001) +2 + -16 = -14 (110010) +2 + -15 = -13 (110011) +2 + -14 = -12 (110100) +2 + -13 = -11 (110101) +2 + -12 = -10 (110110) +2 + -11 = -9 (110111) +2 + -10 = -8 (111000) +2 + -9 = -7 (111001) +2 + -8 = -6 (111010) +2 + -7 = -5 (111011) +2 + -6 = -4 (111100) +2 + -5 = -3 (111101) +2 + -4 = -2 (111110) +2 + -3 = -1 (111111) +2 + -2 = 0 (000000) +2 + -1 = 1 (000001) +3 + 0 = 3 (000011) +3 + 1 = 4 (000100) +3 + 2 = 5 (000101) +3 + 3 = 6 (000110) +3 + 4 = 7 (000111) +3 + 5 = 8 (001000) +3 + 6 = 9 (001001) +3 + 7 = 10 (001010) +3 + 8 = 11 (001011) +3 + 9 = 12 (001100) +3 + 10 = 13 (001101) +3 + 11 = 14 (001110) +3 + 12 = 15 (001111) +3 + 13 = 16 (010000) +3 + 14 = 17 (010001) +3 + 15 = 18 (010010) +3 + 16 = 19 (010011) +3 + 17 = 20 (010100) +3 + 18 = 21 (010101) +3 + 19 = 22 (010110) +3 + 20 = 23 (010111) +3 + 21 = 24 (011000) +3 + 22 = 25 (011001) +3 + 23 = 26 (011010) +3 + 24 = 27 (011011) +3 + 25 = 28 (011100) +3 + 26 = 29 (011101) +3 + 27 = 30 (011110) +3 + 28 = 31 (011111) +3 + 29 = -32 (100000) +3 + 30 = -31 (100001) +3 + 31 = -30 (100010) +3 + -32 = -29 (100011) +3 + -31 = -28 (100100) +3 + -30 = -27 (100101) +3 + -29 = -26 (100110) +3 + -28 = -25 (100111) +3 + -27 = -24 (101000) +3 + -26 = -23 (101001) +3 + -25 = -22 (101010) +3 + -24 = -21 (101011) +3 + -23 = -20 (101100) +3 + -22 = -19 (101101) +3 + -21 = -18 (101110) +3 + -20 = -17 (101111) +3 + -19 = -16 (110000) +3 + -18 = -15 (110001) +3 + -17 = -14 (110010) +3 + -16 = -13 (110011) +3 + -15 = -12 (110100) +3 + -14 = -11 (110101) +3 + -13 = -10 (110110) +3 + -12 = -9 (110111) +3 + -11 = -8 (111000) +3 + -10 = -7 (111001) +3 + -9 = -6 (111010) +3 + -8 = -5 (111011) +3 + -7 = -4 (111100) +3 + -6 = -3 (111101) +3 + -5 = -2 (111110) +3 + -4 = -1 (111111) +3 + -3 = 0 (000000) +3 + -2 = 1 (000001) +3 + -1 = 2 (000010) +4 + 0 = 4 (000100) +4 + 1 = 5 (000101) +4 + 2 = 6 (000110) +4 + 3 = 7 (000111) +4 + 4 = 8 (001000) +4 + 5 = 9 (001001) +4 + 6 = 10 (001010) +4 + 7 = 11 (001011) +4 + 8 = 12 (001100) +4 + 9 = 13 (001101) +4 + 10 = 14 (001110) +4 + 11 = 15 (001111) +4 + 12 = 16 (010000) +4 + 13 = 17 (010001) +4 + 14 = 18 (010010) +4 + 15 = 19 (010011) +4 + 16 = 20 (010100) +4 + 17 = 21 (010101) +4 + 18 = 22 (010110) +4 + 19 = 23 (010111) +4 + 20 = 24 (011000) +4 + 21 = 25 (011001) +4 + 22 = 26 (011010) +4 + 23 = 27 (011011) +4 + 24 = 28 (011100) +4 + 25 = 29 (011101) +4 + 26 = 30 (011110) +4 + 27 = 31 (011111) +4 + 28 = -32 (100000) +4 + 29 = -31 (100001) +4 + 30 = -30 (100010) +4 + 31 = -29 (100011) +4 + -32 = -28 (100100) +4 + -31 = -27 (100101) +4 + -30 = -26 (100110) +4 + -29 = -25 (100111) +4 + -28 = -24 (101000) +4 + -27 = -23 (101001) +4 + -26 = -22 (101010) +4 + -25 = -21 (101011) +4 + -24 = -20 (101100) +4 + -23 = -19 (101101) +4 + -22 = -18 (101110) +4 + -21 = -17 (101111) +4 + -20 = -16 (110000) +4 + -19 = -15 (110001) +4 + -18 = -14 (110010) +4 + -17 = -13 (110011) +4 + -16 = -12 (110100) +4 + -15 = -11 (110101) +4 + -14 = -10 (110110) +4 + -13 = -9 (110111) +4 + -12 = -8 (111000) +4 + -11 = -7 (111001) +4 + -10 = -6 (111010) +4 + -9 = -5 (111011) +4 + -8 = -4 (111100) +4 + -7 = -3 (111101) +4 + -6 = -2 (111110) +4 + -5 = -1 (111111) +4 + -4 = 0 (000000) +4 + -3 = 1 (000001) +4 + -2 = 2 (000010) +4 + -1 = 3 (000011) +5 + 0 = 5 (000101) +5 + 1 = 6 (000110) +5 + 2 = 7 (000111) +5 + 3 = 8 (001000) +5 + 4 = 9 (001001) +5 + 5 = 10 (001010) +5 + 6 = 11 (001011) +5 + 7 = 12 (001100) +5 + 8 = 13 (001101) +5 + 9 = 14 (001110) +5 + 10 = 15 (001111) +5 + 11 = 16 (010000) +5 + 12 = 17 (010001) +5 + 13 = 18 (010010) +5 + 14 = 19 (010011) +5 + 15 = 20 (010100) +5 + 16 = 21 (010101) +5 + 17 = 22 (010110) +5 + 18 = 23 (010111) +5 + 19 = 24 (011000) +5 + 20 = 25 (011001) +5 + 21 = 26 (011010) +5 + 22 = 27 (011011) +5 + 23 = 28 (011100) +5 + 24 = 29 (011101) +5 + 25 = 30 (011110) +5 + 26 = 31 (011111) +5 + 27 = -32 (100000) +5 + 28 = -31 (100001) +5 + 29 = -30 (100010) +5 + 30 = -29 (100011) +5 + 31 = -28 (100100) +5 + -32 = -27 (100101) +5 + -31 = -26 (100110) +5 + -30 = -25 (100111) +5 + -29 = -24 (101000) +5 + -28 = -23 (101001) +5 + -27 = -22 (101010) +5 + -26 = -21 (101011) +5 + -25 = -20 (101100) +5 + -24 = -19 (101101) +5 + -23 = -18 (101110) +5 + -22 = -17 (101111) +5 + -21 = -16 (110000) +5 + -20 = -15 (110001) +5 + -19 = -14 (110010) +5 + -18 = -13 (110011) +5 + -17 = -12 (110100) +5 + -16 = -11 (110101) +5 + -15 = -10 (110110) +5 + -14 = -9 (110111) +5 + -13 = -8 (111000) +5 + -12 = -7 (111001) +5 + -11 = -6 (111010) +5 + -10 = -5 (111011) +5 + -9 = -4 (111100) +5 + -8 = -3 (111101) +5 + -7 = -2 (111110) +5 + -6 = -1 (111111) +5 + -5 = 0 (000000) +5 + -4 = 1 (000001) +5 + -3 = 2 (000010) +5 + -2 = 3 (000011) +5 + -1 = 4 (000100) +6 + 0 = 6 (000110) +6 + 1 = 7 (000111) +6 + 2 = 8 (001000) +6 + 3 = 9 (001001) +6 + 4 = 10 (001010) +6 + 5 = 11 (001011) +6 + 6 = 12 (001100) +6 + 7 = 13 (001101) +6 + 8 = 14 (001110) +6 + 9 = 15 (001111) +6 + 10 = 16 (010000) +6 + 11 = 17 (010001) +6 + 12 = 18 (010010) +6 + 13 = 19 (010011) +6 + 14 = 20 (010100) +6 + 15 = 21 (010101) +6 + 16 = 22 (010110) +6 + 17 = 23 (010111) +6 + 18 = 24 (011000) +6 + 19 = 25 (011001) +6 + 20 = 26 (011010) +6 + 21 = 27 (011011) +6 + 22 = 28 (011100) +6 + 23 = 29 (011101) +6 + 24 = 30 (011110) +6 + 25 = 31 (011111) +6 + 26 = -32 (100000) +6 + 27 = -31 (100001) +6 + 28 = -30 (100010) +6 + 29 = -29 (100011) +6 + 30 = -28 (100100) +6 + 31 = -27 (100101) +6 + -32 = -26 (100110) +6 + -31 = -25 (100111) +6 + -30 = -24 (101000) +6 + -29 = -23 (101001) +6 + -28 = -22 (101010) +6 + -27 = -21 (101011) +6 + -26 = -20 (101100) +6 + -25 = -19 (101101) +6 + -24 = -18 (101110) +6 + -23 = -17 (101111) +6 + -22 = -16 (110000) +6 + -21 = -15 (110001) +6 + -20 = -14 (110010) +6 + -19 = -13 (110011) +6 + -18 = -12 (110100) +6 + -17 = -11 (110101) +6 + -16 = -10 (110110) +6 + -15 = -9 (110111) +6 + -14 = -8 (111000) +6 + -13 = -7 (111001) +6 + -12 = -6 (111010) +6 + -11 = -5 (111011) +6 + -10 = -4 (111100) +6 + -9 = -3 (111101) +6 + -8 = -2 (111110) +6 + -7 = -1 (111111) +6 + -6 = 0 (000000) +6 + -5 = 1 (000001) +6 + -4 = 2 (000010) +6 + -3 = 3 (000011) +6 + -2 = 4 (000100) +6 + -1 = 5 (000101) +7 + 0 = 7 (000111) +7 + 1 = 8 (001000) +7 + 2 = 9 (001001) +7 + 3 = 10 (001010) +7 + 4 = 11 (001011) +7 + 5 = 12 (001100) +7 + 6 = 13 (001101) +7 + 7 = 14 (001110) +7 + 8 = 15 (001111) +7 + 9 = 16 (010000) +7 + 10 = 17 (010001) +7 + 11 = 18 (010010) +7 + 12 = 19 (010011) +7 + 13 = 20 (010100) +7 + 14 = 21 (010101) +7 + 15 = 22 (010110) +7 + 16 = 23 (010111) +7 + 17 = 24 (011000) +7 + 18 = 25 (011001) +7 + 19 = 26 (011010) +7 + 20 = 27 (011011) +7 + 21 = 28 (011100) +7 + 22 = 29 (011101) +7 + 23 = 30 (011110) +7 + 24 = 31 (011111) +7 + 25 = -32 (100000) +7 + 26 = -31 (100001) +7 + 27 = -30 (100010) +7 + 28 = -29 (100011) +7 + 29 = -28 (100100) +7 + 30 = -27 (100101) +7 + 31 = -26 (100110) +7 + -32 = -25 (100111) +7 + -31 = -24 (101000) +7 + -30 = -23 (101001) +7 + -29 = -22 (101010) +7 + -28 = -21 (101011) +7 + -27 = -20 (101100) +7 + -26 = -19 (101101) +7 + -25 = -18 (101110) +7 + -24 = -17 (101111) +7 + -23 = -16 (110000) +7 + -22 = -15 (110001) +7 + -21 = -14 (110010) +7 + -20 = -13 (110011) +7 + -19 = -12 (110100) +7 + -18 = -11 (110101) +7 + -17 = -10 (110110) +7 + -16 = -9 (110111) +7 + -15 = -8 (111000) +7 + -14 = -7 (111001) +7 + -13 = -6 (111010) +7 + -12 = -5 (111011) +7 + -11 = -4 (111100) +7 + -10 = -3 (111101) +7 + -9 = -2 (111110) +7 + -8 = -1 (111111) +7 + -7 = 0 (000000) +7 + -6 = 1 (000001) +7 + -5 = 2 (000010) +7 + -4 = 3 (000011) +7 + -3 = 4 (000100) +7 + -2 = 5 (000101) +7 + -1 = 6 (000110) +-8 + 0 = -8 (111000) +-8 + 1 = -7 (111001) +-8 + 2 = -6 (111010) +-8 + 3 = -5 (111011) +-8 + 4 = -4 (111100) +-8 + 5 = -3 (111101) +-8 + 6 = -2 (111110) +-8 + 7 = -1 (111111) +-8 + 8 = 0 (000000) +-8 + 9 = 1 (000001) +-8 + 10 = 2 (000010) +-8 + 11 = 3 (000011) +-8 + 12 = 4 (000100) +-8 + 13 = 5 (000101) +-8 + 14 = 6 (000110) +-8 + 15 = 7 (000111) +-8 + 16 = 8 (001000) +-8 + 17 = 9 (001001) +-8 + 18 = 10 (001010) +-8 + 19 = 11 (001011) +-8 + 20 = 12 (001100) +-8 + 21 = 13 (001101) +-8 + 22 = 14 (001110) +-8 + 23 = 15 (001111) +-8 + 24 = 16 (010000) +-8 + 25 = 17 (010001) +-8 + 26 = 18 (010010) +-8 + 27 = 19 (010011) +-8 + 28 = 20 (010100) +-8 + 29 = 21 (010101) +-8 + 30 = 22 (010110) +-8 + 31 = 23 (010111) +-8 + -32 = 24 (011000) +-8 + -31 = 25 (011001) +-8 + -30 = 26 (011010) +-8 + -29 = 27 (011011) +-8 + -28 = 28 (011100) +-8 + -27 = 29 (011101) +-8 + -26 = 30 (011110) +-8 + -25 = 31 (011111) +-8 + -24 = -32 (100000) +-8 + -23 = -31 (100001) +-8 + -22 = -30 (100010) +-8 + -21 = -29 (100011) +-8 + -20 = -28 (100100) +-8 + -19 = -27 (100101) +-8 + -18 = -26 (100110) +-8 + -17 = -25 (100111) +-8 + -16 = -24 (101000) +-8 + -15 = -23 (101001) +-8 + -14 = -22 (101010) +-8 + -13 = -21 (101011) +-8 + -12 = -20 (101100) +-8 + -11 = -19 (101101) +-8 + -10 = -18 (101110) +-8 + -9 = -17 (101111) +-8 + -8 = -16 (110000) +-8 + -7 = -15 (110001) +-8 + -6 = -14 (110010) +-8 + -5 = -13 (110011) +-8 + -4 = -12 (110100) +-8 + -3 = -11 (110101) +-8 + -2 = -10 (110110) +-8 + -1 = -9 (110111) +-7 + 0 = -7 (111001) +-7 + 1 = -6 (111010) +-7 + 2 = -5 (111011) +-7 + 3 = -4 (111100) +-7 + 4 = -3 (111101) +-7 + 5 = -2 (111110) +-7 + 6 = -1 (111111) +-7 + 7 = 0 (000000) +-7 + 8 = 1 (000001) +-7 + 9 = 2 (000010) +-7 + 10 = 3 (000011) +-7 + 11 = 4 (000100) +-7 + 12 = 5 (000101) +-7 + 13 = 6 (000110) +-7 + 14 = 7 (000111) +-7 + 15 = 8 (001000) +-7 + 16 = 9 (001001) +-7 + 17 = 10 (001010) +-7 + 18 = 11 (001011) +-7 + 19 = 12 (001100) +-7 + 20 = 13 (001101) +-7 + 21 = 14 (001110) +-7 + 22 = 15 (001111) +-7 + 23 = 16 (010000) +-7 + 24 = 17 (010001) +-7 + 25 = 18 (010010) +-7 + 26 = 19 (010011) +-7 + 27 = 20 (010100) +-7 + 28 = 21 (010101) +-7 + 29 = 22 (010110) +-7 + 30 = 23 (010111) +-7 + 31 = 24 (011000) +-7 + -32 = 25 (011001) +-7 + -31 = 26 (011010) +-7 + -30 = 27 (011011) +-7 + -29 = 28 (011100) +-7 + -28 = 29 (011101) +-7 + -27 = 30 (011110) +-7 + -26 = 31 (011111) +-7 + -25 = -32 (100000) +-7 + -24 = -31 (100001) +-7 + -23 = -30 (100010) +-7 + -22 = -29 (100011) +-7 + -21 = -28 (100100) +-7 + -20 = -27 (100101) +-7 + -19 = -26 (100110) +-7 + -18 = -25 (100111) +-7 + -17 = -24 (101000) +-7 + -16 = -23 (101001) +-7 + -15 = -22 (101010) +-7 + -14 = -21 (101011) +-7 + -13 = -20 (101100) +-7 + -12 = -19 (101101) +-7 + -11 = -18 (101110) +-7 + -10 = -17 (101111) +-7 + -9 = -16 (110000) +-7 + -8 = -15 (110001) +-7 + -7 = -14 (110010) +-7 + -6 = -13 (110011) +-7 + -5 = -12 (110100) +-7 + -4 = -11 (110101) +-7 + -3 = -10 (110110) +-7 + -2 = -9 (110111) +-7 + -1 = -8 (111000) +-6 + 0 = -6 (111010) +-6 + 1 = -5 (111011) +-6 + 2 = -4 (111100) +-6 + 3 = -3 (111101) +-6 + 4 = -2 (111110) +-6 + 5 = -1 (111111) +-6 + 6 = 0 (000000) +-6 + 7 = 1 (000001) +-6 + 8 = 2 (000010) +-6 + 9 = 3 (000011) +-6 + 10 = 4 (000100) +-6 + 11 = 5 (000101) +-6 + 12 = 6 (000110) +-6 + 13 = 7 (000111) +-6 + 14 = 8 (001000) +-6 + 15 = 9 (001001) +-6 + 16 = 10 (001010) +-6 + 17 = 11 (001011) +-6 + 18 = 12 (001100) +-6 + 19 = 13 (001101) +-6 + 20 = 14 (001110) +-6 + 21 = 15 (001111) +-6 + 22 = 16 (010000) +-6 + 23 = 17 (010001) +-6 + 24 = 18 (010010) +-6 + 25 = 19 (010011) +-6 + 26 = 20 (010100) +-6 + 27 = 21 (010101) +-6 + 28 = 22 (010110) +-6 + 29 = 23 (010111) +-6 + 30 = 24 (011000) +-6 + 31 = 25 (011001) +-6 + -32 = 26 (011010) +-6 + -31 = 27 (011011) +-6 + -30 = 28 (011100) +-6 + -29 = 29 (011101) +-6 + -28 = 30 (011110) +-6 + -27 = 31 (011111) +-6 + -26 = -32 (100000) +-6 + -25 = -31 (100001) +-6 + -24 = -30 (100010) +-6 + -23 = -29 (100011) +-6 + -22 = -28 (100100) +-6 + -21 = -27 (100101) +-6 + -20 = -26 (100110) +-6 + -19 = -25 (100111) +-6 + -18 = -24 (101000) +-6 + -17 = -23 (101001) +-6 + -16 = -22 (101010) +-6 + -15 = -21 (101011) +-6 + -14 = -20 (101100) +-6 + -13 = -19 (101101) +-6 + -12 = -18 (101110) +-6 + -11 = -17 (101111) +-6 + -10 = -16 (110000) +-6 + -9 = -15 (110001) +-6 + -8 = -14 (110010) +-6 + -7 = -13 (110011) +-6 + -6 = -12 (110100) +-6 + -5 = -11 (110101) +-6 + -4 = -10 (110110) +-6 + -3 = -9 (110111) +-6 + -2 = -8 (111000) +-6 + -1 = -7 (111001) +-5 + 0 = -5 (111011) +-5 + 1 = -4 (111100) +-5 + 2 = -3 (111101) +-5 + 3 = -2 (111110) +-5 + 4 = -1 (111111) +-5 + 5 = 0 (000000) +-5 + 6 = 1 (000001) +-5 + 7 = 2 (000010) +-5 + 8 = 3 (000011) +-5 + 9 = 4 (000100) +-5 + 10 = 5 (000101) +-5 + 11 = 6 (000110) +-5 + 12 = 7 (000111) +-5 + 13 = 8 (001000) +-5 + 14 = 9 (001001) +-5 + 15 = 10 (001010) +-5 + 16 = 11 (001011) +-5 + 17 = 12 (001100) +-5 + 18 = 13 (001101) +-5 + 19 = 14 (001110) +-5 + 20 = 15 (001111) +-5 + 21 = 16 (010000) +-5 + 22 = 17 (010001) +-5 + 23 = 18 (010010) +-5 + 24 = 19 (010011) +-5 + 25 = 20 (010100) +-5 + 26 = 21 (010101) +-5 + 27 = 22 (010110) +-5 + 28 = 23 (010111) +-5 + 29 = 24 (011000) +-5 + 30 = 25 (011001) +-5 + 31 = 26 (011010) +-5 + -32 = 27 (011011) +-5 + -31 = 28 (011100) +-5 + -30 = 29 (011101) +-5 + -29 = 30 (011110) +-5 + -28 = 31 (011111) +-5 + -27 = -32 (100000) +-5 + -26 = -31 (100001) +-5 + -25 = -30 (100010) +-5 + -24 = -29 (100011) +-5 + -23 = -28 (100100) +-5 + -22 = -27 (100101) +-5 + -21 = -26 (100110) +-5 + -20 = -25 (100111) +-5 + -19 = -24 (101000) +-5 + -18 = -23 (101001) +-5 + -17 = -22 (101010) +-5 + -16 = -21 (101011) +-5 + -15 = -20 (101100) +-5 + -14 = -19 (101101) +-5 + -13 = -18 (101110) +-5 + -12 = -17 (101111) +-5 + -11 = -16 (110000) +-5 + -10 = -15 (110001) +-5 + -9 = -14 (110010) +-5 + -8 = -13 (110011) +-5 + -7 = -12 (110100) +-5 + -6 = -11 (110101) +-5 + -5 = -10 (110110) +-5 + -4 = -9 (110111) +-5 + -3 = -8 (111000) +-5 + -2 = -7 (111001) +-5 + -1 = -6 (111010) +-4 + 0 = -4 (111100) +-4 + 1 = -3 (111101) +-4 + 2 = -2 (111110) +-4 + 3 = -1 (111111) +-4 + 4 = 0 (000000) +-4 + 5 = 1 (000001) +-4 + 6 = 2 (000010) +-4 + 7 = 3 (000011) +-4 + 8 = 4 (000100) +-4 + 9 = 5 (000101) +-4 + 10 = 6 (000110) +-4 + 11 = 7 (000111) +-4 + 12 = 8 (001000) +-4 + 13 = 9 (001001) +-4 + 14 = 10 (001010) +-4 + 15 = 11 (001011) +-4 + 16 = 12 (001100) +-4 + 17 = 13 (001101) +-4 + 18 = 14 (001110) +-4 + 19 = 15 (001111) +-4 + 20 = 16 (010000) +-4 + 21 = 17 (010001) +-4 + 22 = 18 (010010) +-4 + 23 = 19 (010011) +-4 + 24 = 20 (010100) +-4 + 25 = 21 (010101) +-4 + 26 = 22 (010110) +-4 + 27 = 23 (010111) +-4 + 28 = 24 (011000) +-4 + 29 = 25 (011001) +-4 + 30 = 26 (011010) +-4 + 31 = 27 (011011) +-4 + -32 = 28 (011100) +-4 + -31 = 29 (011101) +-4 + -30 = 30 (011110) +-4 + -29 = 31 (011111) +-4 + -28 = -32 (100000) +-4 + -27 = -31 (100001) +-4 + -26 = -30 (100010) +-4 + -25 = -29 (100011) +-4 + -24 = -28 (100100) +-4 + -23 = -27 (100101) +-4 + -22 = -26 (100110) +-4 + -21 = -25 (100111) +-4 + -20 = -24 (101000) +-4 + -19 = -23 (101001) +-4 + -18 = -22 (101010) +-4 + -17 = -21 (101011) +-4 + -16 = -20 (101100) +-4 + -15 = -19 (101101) +-4 + -14 = -18 (101110) +-4 + -13 = -17 (101111) +-4 + -12 = -16 (110000) +-4 + -11 = -15 (110001) +-4 + -10 = -14 (110010) +-4 + -9 = -13 (110011) +-4 + -8 = -12 (110100) +-4 + -7 = -11 (110101) +-4 + -6 = -10 (110110) +-4 + -5 = -9 (110111) +-4 + -4 = -8 (111000) +-4 + -3 = -7 (111001) +-4 + -2 = -6 (111010) +-4 + -1 = -5 (111011) +-3 + 0 = -3 (111101) +-3 + 1 = -2 (111110) +-3 + 2 = -1 (111111) +-3 + 3 = 0 (000000) +-3 + 4 = 1 (000001) +-3 + 5 = 2 (000010) +-3 + 6 = 3 (000011) +-3 + 7 = 4 (000100) +-3 + 8 = 5 (000101) +-3 + 9 = 6 (000110) +-3 + 10 = 7 (000111) +-3 + 11 = 8 (001000) +-3 + 12 = 9 (001001) +-3 + 13 = 10 (001010) +-3 + 14 = 11 (001011) +-3 + 15 = 12 (001100) +-3 + 16 = 13 (001101) +-3 + 17 = 14 (001110) +-3 + 18 = 15 (001111) +-3 + 19 = 16 (010000) +-3 + 20 = 17 (010001) +-3 + 21 = 18 (010010) +-3 + 22 = 19 (010011) +-3 + 23 = 20 (010100) +-3 + 24 = 21 (010101) +-3 + 25 = 22 (010110) +-3 + 26 = 23 (010111) +-3 + 27 = 24 (011000) +-3 + 28 = 25 (011001) +-3 + 29 = 26 (011010) +-3 + 30 = 27 (011011) +-3 + 31 = 28 (011100) +-3 + -32 = 29 (011101) +-3 + -31 = 30 (011110) +-3 + -30 = 31 (011111) +-3 + -29 = -32 (100000) +-3 + -28 = -31 (100001) +-3 + -27 = -30 (100010) +-3 + -26 = -29 (100011) +-3 + -25 = -28 (100100) +-3 + -24 = -27 (100101) +-3 + -23 = -26 (100110) +-3 + -22 = -25 (100111) +-3 + -21 = -24 (101000) +-3 + -20 = -23 (101001) +-3 + -19 = -22 (101010) +-3 + -18 = -21 (101011) +-3 + -17 = -20 (101100) +-3 + -16 = -19 (101101) +-3 + -15 = -18 (101110) +-3 + -14 = -17 (101111) +-3 + -13 = -16 (110000) +-3 + -12 = -15 (110001) +-3 + -11 = -14 (110010) +-3 + -10 = -13 (110011) +-3 + -9 = -12 (110100) +-3 + -8 = -11 (110101) +-3 + -7 = -10 (110110) +-3 + -6 = -9 (110111) +-3 + -5 = -8 (111000) +-3 + -4 = -7 (111001) +-3 + -3 = -6 (111010) +-3 + -2 = -5 (111011) +-3 + -1 = -4 (111100) +-2 + 0 = -2 (111110) +-2 + 1 = -1 (111111) +-2 + 2 = 0 (000000) +-2 + 3 = 1 (000001) +-2 + 4 = 2 (000010) +-2 + 5 = 3 (000011) +-2 + 6 = 4 (000100) +-2 + 7 = 5 (000101) +-2 + 8 = 6 (000110) +-2 + 9 = 7 (000111) +-2 + 10 = 8 (001000) +-2 + 11 = 9 (001001) +-2 + 12 = 10 (001010) +-2 + 13 = 11 (001011) +-2 + 14 = 12 (001100) +-2 + 15 = 13 (001101) +-2 + 16 = 14 (001110) +-2 + 17 = 15 (001111) +-2 + 18 = 16 (010000) +-2 + 19 = 17 (010001) +-2 + 20 = 18 (010010) +-2 + 21 = 19 (010011) +-2 + 22 = 20 (010100) +-2 + 23 = 21 (010101) +-2 + 24 = 22 (010110) +-2 + 25 = 23 (010111) +-2 + 26 = 24 (011000) +-2 + 27 = 25 (011001) +-2 + 28 = 26 (011010) +-2 + 29 = 27 (011011) +-2 + 30 = 28 (011100) +-2 + 31 = 29 (011101) +-2 + -32 = 30 (011110) +-2 + -31 = 31 (011111) +-2 + -30 = -32 (100000) +-2 + -29 = -31 (100001) +-2 + -28 = -30 (100010) +-2 + -27 = -29 (100011) +-2 + -26 = -28 (100100) +-2 + -25 = -27 (100101) +-2 + -24 = -26 (100110) +-2 + -23 = -25 (100111) +-2 + -22 = -24 (101000) +-2 + -21 = -23 (101001) +-2 + -20 = -22 (101010) +-2 + -19 = -21 (101011) +-2 + -18 = -20 (101100) +-2 + -17 = -19 (101101) +-2 + -16 = -18 (101110) +-2 + -15 = -17 (101111) +-2 + -14 = -16 (110000) +-2 + -13 = -15 (110001) +-2 + -12 = -14 (110010) +-2 + -11 = -13 (110011) +-2 + -10 = -12 (110100) +-2 + -9 = -11 (110101) +-2 + -8 = -10 (110110) +-2 + -7 = -9 (110111) +-2 + -6 = -8 (111000) +-2 + -5 = -7 (111001) +-2 + -4 = -6 (111010) +-2 + -3 = -5 (111011) +-2 + -2 = -4 (111100) +-2 + -1 = -3 (111101) +-1 + 0 = -1 (111111) +-1 + 1 = 0 (000000) +-1 + 2 = 1 (000001) +-1 + 3 = 2 (000010) +-1 + 4 = 3 (000011) +-1 + 5 = 4 (000100) +-1 + 6 = 5 (000101) +-1 + 7 = 6 (000110) +-1 + 8 = 7 (000111) +-1 + 9 = 8 (001000) +-1 + 10 = 9 (001001) +-1 + 11 = 10 (001010) +-1 + 12 = 11 (001011) +-1 + 13 = 12 (001100) +-1 + 14 = 13 (001101) +-1 + 15 = 14 (001110) +-1 + 16 = 15 (001111) +-1 + 17 = 16 (010000) +-1 + 18 = 17 (010001) +-1 + 19 = 18 (010010) +-1 + 20 = 19 (010011) +-1 + 21 = 20 (010100) +-1 + 22 = 21 (010101) +-1 + 23 = 22 (010110) +-1 + 24 = 23 (010111) +-1 + 25 = 24 (011000) +-1 + 26 = 25 (011001) +-1 + 27 = 26 (011010) +-1 + 28 = 27 (011011) +-1 + 29 = 28 (011100) +-1 + 30 = 29 (011101) +-1 + 31 = 30 (011110) +-1 + -32 = 31 (011111) +-1 + -31 = -32 (100000) +-1 + -30 = -31 (100001) +-1 + -29 = -30 (100010) +-1 + -28 = -29 (100011) +-1 + -27 = -28 (100100) +-1 + -26 = -27 (100101) +-1 + -25 = -26 (100110) +-1 + -24 = -25 (100111) +-1 + -23 = -24 (101000) +-1 + -22 = -23 (101001) +-1 + -21 = -22 (101010) +-1 + -20 = -21 (101011) +-1 + -19 = -20 (101100) +-1 + -18 = -19 (101101) +-1 + -17 = -18 (101110) +-1 + -16 = -17 (101111) +-1 + -15 = -16 (110000) +-1 + -14 = -15 (110001) +-1 + -13 = -14 (110010) +-1 + -12 = -13 (110011) +-1 + -11 = -12 (110100) +-1 + -10 = -11 (110101) +-1 + -9 = -10 (110110) +-1 + -8 = -9 (110111) +-1 + -7 = -8 (111000) +-1 + -6 = -7 (111001) +-1 + -5 = -6 (111010) +-1 + -4 = -5 (111011) +-1 + -3 = -4 (111100) +-1 + -2 = -3 (111101) +-1 + -1 = -2 (111110) +0 + 0 = 0 (000000) +0 + 1 = 1 (000001) +0 + 2 = 2 (000010) +0 + 3 = 3 (000011) +0 + 4 = 4 (000100) +0 + 5 = 5 (000101) +0 + 6 = 6 (000110) +0 + 7 = 7 (000111) +0 + 8 = 8 (001000) +0 + 9 = 9 (001001) +0 + 10 = 10 (001010) +0 + 11 = 11 (001011) +0 + 12 = 12 (001100) +0 + 13 = 13 (001101) +0 + 14 = 14 (001110) +0 + 15 = 15 (001111) +0 + 16 = 16 (010000) +0 + 17 = 17 (010001) +0 + 18 = 18 (010010) +0 + 19 = 19 (010011) +0 + 20 = 20 (010100) +0 + 21 = 21 (010101) +0 + 22 = 22 (010110) +0 + 23 = 23 (010111) +0 + 24 = 24 (011000) +0 + 25 = 25 (011001) +0 + 26 = 26 (011010) +0 + 27 = 27 (011011) +0 + 28 = 28 (011100) +0 + 29 = 29 (011101) +0 + 30 = 30 (011110) +0 + 31 = 31 (011111) +0 + -32 = -32 (100000) +0 + -31 = -31 (100001) +0 + -30 = -30 (100010) +0 + -29 = -29 (100011) +0 + -28 = -28 (100100) +0 + -27 = -27 (100101) +0 + -26 = -26 (100110) +0 + -25 = -25 (100111) +0 + -24 = -24 (101000) +0 + -23 = -23 (101001) +0 + -22 = -22 (101010) +0 + -21 = -21 (101011) +0 + -20 = -20 (101100) +0 + -19 = -19 (101101) +0 + -18 = -18 (101110) +0 + -17 = -17 (101111) +0 + -16 = -16 (110000) +0 + -15 = -15 (110001) +0 + -14 = -14 (110010) +0 + -13 = -13 (110011) +0 + -12 = -12 (110100) +0 + -11 = -11 (110101) +0 + -10 = -10 (110110) +0 + -9 = -9 (110111) +0 + -8 = -8 (111000) +0 + -7 = -7 (111001) +0 + -6 = -6 (111010) +0 + -5 = -5 (111011) +0 + -4 = -4 (111100) +0 + -3 = -3 (111101) +0 + -2 = -2 (111110) +0 + -1 = -1 (111111) +1 + 0 = 1 (000001) +1 + 1 = 2 (000010) +1 + 2 = 3 (000011) +1 + 3 = 4 (000100) +1 + 4 = 5 (000101) +1 + 5 = 6 (000110) +1 + 6 = 7 (000111) +1 + 7 = 8 (001000) +1 + 8 = 9 (001001) +1 + 9 = 10 (001010) +1 + 10 = 11 (001011) +1 + 11 = 12 (001100) +1 + 12 = 13 (001101) +1 + 13 = 14 (001110) +1 + 14 = 15 (001111) +1 + 15 = 16 (010000) +1 + 16 = 17 (010001) +1 + 17 = 18 (010010) +1 + 18 = 19 (010011) +1 + 19 = 20 (010100) +1 + 20 = 21 (010101) +1 + 21 = 22 (010110) +1 + 22 = 23 (010111) +1 + 23 = 24 (011000) +1 + 24 = 25 (011001) +1 + 25 = 26 (011010) +1 + 26 = 27 (011011) +1 + 27 = 28 (011100) +1 + 28 = 29 (011101) +1 + 29 = 30 (011110) +1 + 30 = 31 (011111) +1 + 31 = -32 (100000) +1 + -32 = -31 (100001) +1 + -31 = -30 (100010) +1 + -30 = -29 (100011) +1 + -29 = -28 (100100) +1 + -28 = -27 (100101) +1 + -27 = -26 (100110) +1 + -26 = -25 (100111) +1 + -25 = -24 (101000) +1 + -24 = -23 (101001) +1 + -23 = -22 (101010) +1 + -22 = -21 (101011) +1 + -21 = -20 (101100) +1 + -20 = -19 (101101) +1 + -19 = -18 (101110) +1 + -18 = -17 (101111) +1 + -17 = -16 (110000) +1 + -16 = -15 (110001) +1 + -15 = -14 (110010) +1 + -14 = -13 (110011) +1 + -13 = -12 (110100) +1 + -12 = -11 (110101) +1 + -11 = -10 (110110) +1 + -10 = -9 (110111) +1 + -9 = -8 (111000) +1 + -8 = -7 (111001) +1 + -7 = -6 (111010) +1 + -6 = -5 (111011) +1 + -5 = -4 (111100) +1 + -4 = -3 (111101) +1 + -3 = -2 (111110) +1 + -2 = -1 (111111) +1 + -1 = 0 (000000) +2 + 0 = 2 (000010) +2 + 1 = 3 (000011) +2 + 2 = 4 (000100) +2 + 3 = 5 (000101) +2 + 4 = 6 (000110) +2 + 5 = 7 (000111) +2 + 6 = 8 (001000) +2 + 7 = 9 (001001) +2 + 8 = 10 (001010) +2 + 9 = 11 (001011) +2 + 10 = 12 (001100) +2 + 11 = 13 (001101) +2 + 12 = 14 (001110) +2 + 13 = 15 (001111) +2 + 14 = 16 (010000) +2 + 15 = 17 (010001) +2 + 16 = 18 (010010) +2 + 17 = 19 (010011) +2 + 18 = 20 (010100) +2 + 19 = 21 (010101) +2 + 20 = 22 (010110) +2 + 21 = 23 (010111) +2 + 22 = 24 (011000) +2 + 23 = 25 (011001) +2 + 24 = 26 (011010) +2 + 25 = 27 (011011) +2 + 26 = 28 (011100) +2 + 27 = 29 (011101) +2 + 28 = 30 (011110) +2 + 29 = 31 (011111) +2 + 30 = -32 (100000) +2 + 31 = -31 (100001) +2 + -32 = -30 (100010) +2 + -31 = -29 (100011) +2 + -30 = -28 (100100) +2 + -29 = -27 (100101) +2 + -28 = -26 (100110) +2 + -27 = -25 (100111) +2 + -26 = -24 (101000) +2 + -25 = -23 (101001) +2 + -24 = -22 (101010) +2 + -23 = -21 (101011) +2 + -22 = -20 (101100) +2 + -21 = -19 (101101) +2 + -20 = -18 (101110) +2 + -19 = -17 (101111) +2 + -18 = -16 (110000) +2 + -17 = -15 (110001) +2 + -16 = -14 (110010) +2 + -15 = -13 (110011) +2 + -14 = -12 (110100) +2 + -13 = -11 (110101) +2 + -12 = -10 (110110) +2 + -11 = -9 (110111) +2 + -10 = -8 (111000) +2 + -9 = -7 (111001) +2 + -8 = -6 (111010) +2 + -7 = -5 (111011) +2 + -6 = -4 (111100) +2 + -5 = -3 (111101) +2 + -4 = -2 (111110) +2 + -3 = -1 (111111) +2 + -2 = 0 (000000) +2 + -1 = 1 (000001) +3 + 0 = 3 (000011) +3 + 1 = 4 (000100) +3 + 2 = 5 (000101) +3 + 3 = 6 (000110) +3 + 4 = 7 (000111) +3 + 5 = 8 (001000) +3 + 6 = 9 (001001) +3 + 7 = 10 (001010) +3 + 8 = 11 (001011) +3 + 9 = 12 (001100) +3 + 10 = 13 (001101) +3 + 11 = 14 (001110) +3 + 12 = 15 (001111) +3 + 13 = 16 (010000) +3 + 14 = 17 (010001) +3 + 15 = 18 (010010) +3 + 16 = 19 (010011) +3 + 17 = 20 (010100) +3 + 18 = 21 (010101) +3 + 19 = 22 (010110) +3 + 20 = 23 (010111) +3 + 21 = 24 (011000) +3 + 22 = 25 (011001) +3 + 23 = 26 (011010) +3 + 24 = 27 (011011) +3 + 25 = 28 (011100) +3 + 26 = 29 (011101) +3 + 27 = 30 (011110) +3 + 28 = 31 (011111) +3 + 29 = -32 (100000) +3 + 30 = -31 (100001) +3 + 31 = -30 (100010) +3 + -32 = -29 (100011) +3 + -31 = -28 (100100) +3 + -30 = -27 (100101) +3 + -29 = -26 (100110) +3 + -28 = -25 (100111) +3 + -27 = -24 (101000) +3 + -26 = -23 (101001) +3 + -25 = -22 (101010) +3 + -24 = -21 (101011) +3 + -23 = -20 (101100) +3 + -22 = -19 (101101) +3 + -21 = -18 (101110) +3 + -20 = -17 (101111) +3 + -19 = -16 (110000) +3 + -18 = -15 (110001) +3 + -17 = -14 (110010) +3 + -16 = -13 (110011) +3 + -15 = -12 (110100) +3 + -14 = -11 (110101) +3 + -13 = -10 (110110) +3 + -12 = -9 (110111) +3 + -11 = -8 (111000) +3 + -10 = -7 (111001) +3 + -9 = -6 (111010) +3 + -8 = -5 (111011) +3 + -7 = -4 (111100) +3 + -6 = -3 (111101) +3 + -5 = -2 (111110) +3 + -4 = -1 (111111) +3 + -3 = 0 (000000) +3 + -2 = 1 (000001) +3 + -1 = 2 (000010) +4 + 0 = 4 (000100) +4 + 1 = 5 (000101) +4 + 2 = 6 (000110) +4 + 3 = 7 (000111) +4 + 4 = 8 (001000) +4 + 5 = 9 (001001) +4 + 6 = 10 (001010) +4 + 7 = 11 (001011) +4 + 8 = 12 (001100) +4 + 9 = 13 (001101) +4 + 10 = 14 (001110) +4 + 11 = 15 (001111) +4 + 12 = 16 (010000) +4 + 13 = 17 (010001) +4 + 14 = 18 (010010) +4 + 15 = 19 (010011) +4 + 16 = 20 (010100) +4 + 17 = 21 (010101) +4 + 18 = 22 (010110) +4 + 19 = 23 (010111) +4 + 20 = 24 (011000) +4 + 21 = 25 (011001) +4 + 22 = 26 (011010) +4 + 23 = 27 (011011) +4 + 24 = 28 (011100) +4 + 25 = 29 (011101) +4 + 26 = 30 (011110) +4 + 27 = 31 (011111) +4 + 28 = -32 (100000) +4 + 29 = -31 (100001) +4 + 30 = -30 (100010) +4 + 31 = -29 (100011) +4 + -32 = -28 (100100) +4 + -31 = -27 (100101) +4 + -30 = -26 (100110) +4 + -29 = -25 (100111) +4 + -28 = -24 (101000) +4 + -27 = -23 (101001) +4 + -26 = -22 (101010) +4 + -25 = -21 (101011) +4 + -24 = -20 (101100) +4 + -23 = -19 (101101) +4 + -22 = -18 (101110) +4 + -21 = -17 (101111) +4 + -20 = -16 (110000) +4 + -19 = -15 (110001) +4 + -18 = -14 (110010) +4 + -17 = -13 (110011) +4 + -16 = -12 (110100) +4 + -15 = -11 (110101) +4 + -14 = -10 (110110) +4 + -13 = -9 (110111) +4 + -12 = -8 (111000) +4 + -11 = -7 (111001) +4 + -10 = -6 (111010) +4 + -9 = -5 (111011) +4 + -8 = -4 (111100) +4 + -7 = -3 (111101) +4 + -6 = -2 (111110) +4 + -5 = -1 (111111) +4 + -4 = 0 (000000) +4 + -3 = 1 (000001) +4 + -2 = 2 (000010) +4 + -1 = 3 (000011) +5 + 0 = 5 (000101) +5 + 1 = 6 (000110) +5 + 2 = 7 (000111) +5 + 3 = 8 (001000) +5 + 4 = 9 (001001) +5 + 5 = 10 (001010) +5 + 6 = 11 (001011) +5 + 7 = 12 (001100) +5 + 8 = 13 (001101) +5 + 9 = 14 (001110) +5 + 10 = 15 (001111) +5 + 11 = 16 (010000) +5 + 12 = 17 (010001) +5 + 13 = 18 (010010) +5 + 14 = 19 (010011) +5 + 15 = 20 (010100) +5 + 16 = 21 (010101) +5 + 17 = 22 (010110) +5 + 18 = 23 (010111) +5 + 19 = 24 (011000) +5 + 20 = 25 (011001) +5 + 21 = 26 (011010) +5 + 22 = 27 (011011) +5 + 23 = 28 (011100) +5 + 24 = 29 (011101) +5 + 25 = 30 (011110) +5 + 26 = 31 (011111) +5 + 27 = -32 (100000) +5 + 28 = -31 (100001) +5 + 29 = -30 (100010) +5 + 30 = -29 (100011) +5 + 31 = -28 (100100) +5 + -32 = -27 (100101) +5 + -31 = -26 (100110) +5 + -30 = -25 (100111) +5 + -29 = -24 (101000) +5 + -28 = -23 (101001) +5 + -27 = -22 (101010) +5 + -26 = -21 (101011) +5 + -25 = -20 (101100) +5 + -24 = -19 (101101) +5 + -23 = -18 (101110) +5 + -22 = -17 (101111) +5 + -21 = -16 (110000) +5 + -20 = -15 (110001) +5 + -19 = -14 (110010) +5 + -18 = -13 (110011) +5 + -17 = -12 (110100) +5 + -16 = -11 (110101) +5 + -15 = -10 (110110) +5 + -14 = -9 (110111) +5 + -13 = -8 (111000) +5 + -12 = -7 (111001) +5 + -11 = -6 (111010) +5 + -10 = -5 (111011) +5 + -9 = -4 (111100) +5 + -8 = -3 (111101) +5 + -7 = -2 (111110) +5 + -6 = -1 (111111) +5 + -5 = 0 (000000) +5 + -4 = 1 (000001) +5 + -3 = 2 (000010) +5 + -2 = 3 (000011) +5 + -1 = 4 (000100) +6 + 0 = 6 (000110) +6 + 1 = 7 (000111) +6 + 2 = 8 (001000) +6 + 3 = 9 (001001) +6 + 4 = 10 (001010) +6 + 5 = 11 (001011) +6 + 6 = 12 (001100) +6 + 7 = 13 (001101) +6 + 8 = 14 (001110) +6 + 9 = 15 (001111) +6 + 10 = 16 (010000) +6 + 11 = 17 (010001) +6 + 12 = 18 (010010) +6 + 13 = 19 (010011) +6 + 14 = 20 (010100) +6 + 15 = 21 (010101) +6 + 16 = 22 (010110) +6 + 17 = 23 (010111) +6 + 18 = 24 (011000) +6 + 19 = 25 (011001) +6 + 20 = 26 (011010) +6 + 21 = 27 (011011) +6 + 22 = 28 (011100) +6 + 23 = 29 (011101) +6 + 24 = 30 (011110) +6 + 25 = 31 (011111) +6 + 26 = -32 (100000) +6 + 27 = -31 (100001) +6 + 28 = -30 (100010) +6 + 29 = -29 (100011) +6 + 30 = -28 (100100) +6 + 31 = -27 (100101) +6 + -32 = -26 (100110) +6 + -31 = -25 (100111) +6 + -30 = -24 (101000) +6 + -29 = -23 (101001) +6 + -28 = -22 (101010) +6 + -27 = -21 (101011) +6 + -26 = -20 (101100) +6 + -25 = -19 (101101) +6 + -24 = -18 (101110) +6 + -23 = -17 (101111) +6 + -22 = -16 (110000) +6 + -21 = -15 (110001) +6 + -20 = -14 (110010) +6 + -19 = -13 (110011) +6 + -18 = -12 (110100) +6 + -17 = -11 (110101) +6 + -16 = -10 (110110) +6 + -15 = -9 (110111) +6 + -14 = -8 (111000) +6 + -13 = -7 (111001) +6 + -12 = -6 (111010) +6 + -11 = -5 (111011) +6 + -10 = -4 (111100) +6 + -9 = -3 (111101) +6 + -8 = -2 (111110) +6 + -7 = -1 (111111) +6 + -6 = 0 (000000) +6 + -5 = 1 (000001) +6 + -4 = 2 (000010) +6 + -3 = 3 (000011) +6 + -2 = 4 (000100) +6 + -1 = 5 (000101) +7 + 0 = 7 (000111) +7 + 1 = 8 (001000) +7 + 2 = 9 (001001) +7 + 3 = 10 (001010) +7 + 4 = 11 (001011) +7 + 5 = 12 (001100) +7 + 6 = 13 (001101) +7 + 7 = 14 (001110) +7 + 8 = 15 (001111) +7 + 9 = 16 (010000) +7 + 10 = 17 (010001) +7 + 11 = 18 (010010) +7 + 12 = 19 (010011) +7 + 13 = 20 (010100) +7 + 14 = 21 (010101) +7 + 15 = 22 (010110) +7 + 16 = 23 (010111) +7 + 17 = 24 (011000) +7 + 18 = 25 (011001) +7 + 19 = 26 (011010) +7 + 20 = 27 (011011) +7 + 21 = 28 (011100) +7 + 22 = 29 (011101) +7 + 23 = 30 (011110) +7 + 24 = 31 (011111) +7 + 25 = -32 (100000) +7 + 26 = -31 (100001) +7 + 27 = -30 (100010) +7 + 28 = -29 (100011) +7 + 29 = -28 (100100) +7 + 30 = -27 (100101) +7 + 31 = -26 (100110) +7 + -32 = -25 (100111) +7 + -31 = -24 (101000) +7 + -30 = -23 (101001) +7 + -29 = -22 (101010) +7 + -28 = -21 (101011) +7 + -27 = -20 (101100) +7 + -26 = -19 (101101) +7 + -25 = -18 (101110) +7 + -24 = -17 (101111) +7 + -23 = -16 (110000) +7 + -22 = -15 (110001) +7 + -21 = -14 (110010) +7 + -20 = -13 (110011) +7 + -19 = -12 (110100) +7 + -18 = -11 (110101) +7 + -17 = -10 (110110) +7 + -16 = -9 (110111) +7 + -15 = -8 (111000) +7 + -14 = -7 (111001) +7 + -13 = -6 (111010) +7 + -12 = -5 (111011) +7 + -11 = -4 (111100) +7 + -10 = -3 (111101) +7 + -9 = -2 (111110) +7 + -8 = -1 (111111) +7 + -7 = 0 (000000) +7 + -6 = 1 (000001) +7 + -5 = 2 (000010) +7 + -4 = 3 (000011) +7 + -3 = 4 (000100) +7 + -2 = 5 (000101) +7 + -1 = 6 (000110) +-8 + 0 = -8 (111000) +-8 + 1 = -7 (111001) +-8 + 2 = -6 (111010) +-8 + 3 = -5 (111011) +-8 + 4 = -4 (111100) +-8 + 5 = -3 (111101) +-8 + 6 = -2 (111110) +-8 + 7 = -1 (111111) +-8 + 8 = 0 (000000) +-8 + 9 = 1 (000001) +-8 + 10 = 2 (000010) +-8 + 11 = 3 (000011) +-8 + 12 = 4 (000100) +-8 + 13 = 5 (000101) +-8 + 14 = 6 (000110) +-8 + 15 = 7 (000111) +-8 + 16 = 8 (001000) +-8 + 17 = 9 (001001) +-8 + 18 = 10 (001010) +-8 + 19 = 11 (001011) +-8 + 20 = 12 (001100) +-8 + 21 = 13 (001101) +-8 + 22 = 14 (001110) +-8 + 23 = 15 (001111) +-8 + 24 = 16 (010000) +-8 + 25 = 17 (010001) +-8 + 26 = 18 (010010) +-8 + 27 = 19 (010011) +-8 + 28 = 20 (010100) +-8 + 29 = 21 (010101) +-8 + 30 = 22 (010110) +-8 + 31 = 23 (010111) +-8 + -32 = 24 (011000) +-8 + -31 = 25 (011001) +-8 + -30 = 26 (011010) +-8 + -29 = 27 (011011) +-8 + -28 = 28 (011100) +-8 + -27 = 29 (011101) +-8 + -26 = 30 (011110) +-8 + -25 = 31 (011111) +-8 + -24 = -32 (100000) +-8 + -23 = -31 (100001) +-8 + -22 = -30 (100010) +-8 + -21 = -29 (100011) +-8 + -20 = -28 (100100) +-8 + -19 = -27 (100101) +-8 + -18 = -26 (100110) +-8 + -17 = -25 (100111) +-8 + -16 = -24 (101000) +-8 + -15 = -23 (101001) +-8 + -14 = -22 (101010) +-8 + -13 = -21 (101011) +-8 + -12 = -20 (101100) +-8 + -11 = -19 (101101) +-8 + -10 = -18 (101110) +-8 + -9 = -17 (101111) +-8 + -8 = -16 (110000) +-8 + -7 = -15 (110001) +-8 + -6 = -14 (110010) +-8 + -5 = -13 (110011) +-8 + -4 = -12 (110100) +-8 + -3 = -11 (110101) +-8 + -2 = -10 (110110) +-8 + -1 = -9 (110111) +-7 + 0 = -7 (111001) +-7 + 1 = -6 (111010) +-7 + 2 = -5 (111011) +-7 + 3 = -4 (111100) +-7 + 4 = -3 (111101) +-7 + 5 = -2 (111110) +-7 + 6 = -1 (111111) +-7 + 7 = 0 (000000) +-7 + 8 = 1 (000001) +-7 + 9 = 2 (000010) +-7 + 10 = 3 (000011) +-7 + 11 = 4 (000100) +-7 + 12 = 5 (000101) +-7 + 13 = 6 (000110) +-7 + 14 = 7 (000111) +-7 + 15 = 8 (001000) +-7 + 16 = 9 (001001) +-7 + 17 = 10 (001010) +-7 + 18 = 11 (001011) +-7 + 19 = 12 (001100) +-7 + 20 = 13 (001101) +-7 + 21 = 14 (001110) +-7 + 22 = 15 (001111) +-7 + 23 = 16 (010000) +-7 + 24 = 17 (010001) +-7 + 25 = 18 (010010) +-7 + 26 = 19 (010011) +-7 + 27 = 20 (010100) +-7 + 28 = 21 (010101) +-7 + 29 = 22 (010110) +-7 + 30 = 23 (010111) +-7 + 31 = 24 (011000) +-7 + -32 = 25 (011001) +-7 + -31 = 26 (011010) +-7 + -30 = 27 (011011) +-7 + -29 = 28 (011100) +-7 + -28 = 29 (011101) +-7 + -27 = 30 (011110) +-7 + -26 = 31 (011111) +-7 + -25 = -32 (100000) +-7 + -24 = -31 (100001) +-7 + -23 = -30 (100010) +-7 + -22 = -29 (100011) +-7 + -21 = -28 (100100) +-7 + -20 = -27 (100101) +-7 + -19 = -26 (100110) +-7 + -18 = -25 (100111) +-7 + -17 = -24 (101000) +-7 + -16 = -23 (101001) +-7 + -15 = -22 (101010) +-7 + -14 = -21 (101011) +-7 + -13 = -20 (101100) +-7 + -12 = -19 (101101) +-7 + -11 = -18 (101110) +-7 + -10 = -17 (101111) +-7 + -9 = -16 (110000) +-7 + -8 = -15 (110001) +-7 + -7 = -14 (110010) +-7 + -6 = -13 (110011) +-7 + -5 = -12 (110100) +-7 + -4 = -11 (110101) +-7 + -3 = -10 (110110) +-7 + -2 = -9 (110111) +-7 + -1 = -8 (111000) +-6 + 0 = -6 (111010) +-6 + 1 = -5 (111011) +-6 + 2 = -4 (111100) +-6 + 3 = -3 (111101) +-6 + 4 = -2 (111110) +-6 + 5 = -1 (111111) +-6 + 6 = 0 (000000) +-6 + 7 = 1 (000001) +-6 + 8 = 2 (000010) +-6 + 9 = 3 (000011) +-6 + 10 = 4 (000100) +-6 + 11 = 5 (000101) +-6 + 12 = 6 (000110) +-6 + 13 = 7 (000111) +-6 + 14 = 8 (001000) +-6 + 15 = 9 (001001) +-6 + 16 = 10 (001010) +-6 + 17 = 11 (001011) +-6 + 18 = 12 (001100) +-6 + 19 = 13 (001101) +-6 + 20 = 14 (001110) +-6 + 21 = 15 (001111) +-6 + 22 = 16 (010000) +-6 + 23 = 17 (010001) +-6 + 24 = 18 (010010) +-6 + 25 = 19 (010011) +-6 + 26 = 20 (010100) +-6 + 27 = 21 (010101) +-6 + 28 = 22 (010110) +-6 + 29 = 23 (010111) +-6 + 30 = 24 (011000) +-6 + 31 = 25 (011001) +-6 + -32 = 26 (011010) +-6 + -31 = 27 (011011) +-6 + -30 = 28 (011100) +-6 + -29 = 29 (011101) +-6 + -28 = 30 (011110) +-6 + -27 = 31 (011111) +-6 + -26 = -32 (100000) +-6 + -25 = -31 (100001) +-6 + -24 = -30 (100010) +-6 + -23 = -29 (100011) +-6 + -22 = -28 (100100) +-6 + -21 = -27 (100101) +-6 + -20 = -26 (100110) +-6 + -19 = -25 (100111) +-6 + -18 = -24 (101000) +-6 + -17 = -23 (101001) +-6 + -16 = -22 (101010) +-6 + -15 = -21 (101011) +-6 + -14 = -20 (101100) +-6 + -13 = -19 (101101) +-6 + -12 = -18 (101110) +-6 + -11 = -17 (101111) +-6 + -10 = -16 (110000) +-6 + -9 = -15 (110001) +-6 + -8 = -14 (110010) +-6 + -7 = -13 (110011) +-6 + -6 = -12 (110100) +-6 + -5 = -11 (110101) +-6 + -4 = -10 (110110) +-6 + -3 = -9 (110111) +-6 + -2 = -8 (111000) +-6 + -1 = -7 (111001) +-5 + 0 = -5 (111011) +-5 + 1 = -4 (111100) +-5 + 2 = -3 (111101) +-5 + 3 = -2 (111110) +-5 + 4 = -1 (111111) +-5 + 5 = 0 (000000) +-5 + 6 = 1 (000001) +-5 + 7 = 2 (000010) +-5 + 8 = 3 (000011) +-5 + 9 = 4 (000100) +-5 + 10 = 5 (000101) +-5 + 11 = 6 (000110) +-5 + 12 = 7 (000111) +-5 + 13 = 8 (001000) +-5 + 14 = 9 (001001) +-5 + 15 = 10 (001010) +-5 + 16 = 11 (001011) +-5 + 17 = 12 (001100) +-5 + 18 = 13 (001101) +-5 + 19 = 14 (001110) +-5 + 20 = 15 (001111) +-5 + 21 = 16 (010000) +-5 + 22 = 17 (010001) +-5 + 23 = 18 (010010) +-5 + 24 = 19 (010011) +-5 + 25 = 20 (010100) +-5 + 26 = 21 (010101) +-5 + 27 = 22 (010110) +-5 + 28 = 23 (010111) +-5 + 29 = 24 (011000) +-5 + 30 = 25 (011001) +-5 + 31 = 26 (011010) +-5 + -32 = 27 (011011) +-5 + -31 = 28 (011100) +-5 + -30 = 29 (011101) +-5 + -29 = 30 (011110) +-5 + -28 = 31 (011111) +-5 + -27 = -32 (100000) +-5 + -26 = -31 (100001) +-5 + -25 = -30 (100010) +-5 + -24 = -29 (100011) +-5 + -23 = -28 (100100) +-5 + -22 = -27 (100101) +-5 + -21 = -26 (100110) +-5 + -20 = -25 (100111) +-5 + -19 = -24 (101000) +-5 + -18 = -23 (101001) +-5 + -17 = -22 (101010) +-5 + -16 = -21 (101011) +-5 + -15 = -20 (101100) +-5 + -14 = -19 (101101) +-5 + -13 = -18 (101110) +-5 + -12 = -17 (101111) +-5 + -11 = -16 (110000) +-5 + -10 = -15 (110001) +-5 + -9 = -14 (110010) +-5 + -8 = -13 (110011) +-5 + -7 = -12 (110100) +-5 + -6 = -11 (110101) +-5 + -5 = -10 (110110) +-5 + -4 = -9 (110111) +-5 + -3 = -8 (111000) +-5 + -2 = -7 (111001) +-5 + -1 = -6 (111010) +-4 + 0 = -4 (111100) +-4 + 1 = -3 (111101) +-4 + 2 = -2 (111110) +-4 + 3 = -1 (111111) +-4 + 4 = 0 (000000) +-4 + 5 = 1 (000001) +-4 + 6 = 2 (000010) +-4 + 7 = 3 (000011) +-4 + 8 = 4 (000100) +-4 + 9 = 5 (000101) +-4 + 10 = 6 (000110) +-4 + 11 = 7 (000111) +-4 + 12 = 8 (001000) +-4 + 13 = 9 (001001) +-4 + 14 = 10 (001010) +-4 + 15 = 11 (001011) +-4 + 16 = 12 (001100) +-4 + 17 = 13 (001101) +-4 + 18 = 14 (001110) +-4 + 19 = 15 (001111) +-4 + 20 = 16 (010000) +-4 + 21 = 17 (010001) +-4 + 22 = 18 (010010) +-4 + 23 = 19 (010011) +-4 + 24 = 20 (010100) +-4 + 25 = 21 (010101) +-4 + 26 = 22 (010110) +-4 + 27 = 23 (010111) +-4 + 28 = 24 (011000) +-4 + 29 = 25 (011001) +-4 + 30 = 26 (011010) +-4 + 31 = 27 (011011) +-4 + -32 = 28 (011100) +-4 + -31 = 29 (011101) +-4 + -30 = 30 (011110) +-4 + -29 = 31 (011111) +-4 + -28 = -32 (100000) +-4 + -27 = -31 (100001) +-4 + -26 = -30 (100010) +-4 + -25 = -29 (100011) +-4 + -24 = -28 (100100) +-4 + -23 = -27 (100101) +-4 + -22 = -26 (100110) +-4 + -21 = -25 (100111) +-4 + -20 = -24 (101000) +-4 + -19 = -23 (101001) +-4 + -18 = -22 (101010) +-4 + -17 = -21 (101011) +-4 + -16 = -20 (101100) +-4 + -15 = -19 (101101) +-4 + -14 = -18 (101110) +-4 + -13 = -17 (101111) +-4 + -12 = -16 (110000) +-4 + -11 = -15 (110001) +-4 + -10 = -14 (110010) +-4 + -9 = -13 (110011) +-4 + -8 = -12 (110100) +-4 + -7 = -11 (110101) +-4 + -6 = -10 (110110) +-4 + -5 = -9 (110111) +-4 + -4 = -8 (111000) +-4 + -3 = -7 (111001) +-4 + -2 = -6 (111010) +-4 + -1 = -5 (111011) +-3 + 0 = -3 (111101) +-3 + 1 = -2 (111110) +-3 + 2 = -1 (111111) +-3 + 3 = 0 (000000) +-3 + 4 = 1 (000001) +-3 + 5 = 2 (000010) +-3 + 6 = 3 (000011) +-3 + 7 = 4 (000100) +-3 + 8 = 5 (000101) +-3 + 9 = 6 (000110) +-3 + 10 = 7 (000111) +-3 + 11 = 8 (001000) +-3 + 12 = 9 (001001) +-3 + 13 = 10 (001010) +-3 + 14 = 11 (001011) +-3 + 15 = 12 (001100) +-3 + 16 = 13 (001101) +-3 + 17 = 14 (001110) +-3 + 18 = 15 (001111) +-3 + 19 = 16 (010000) +-3 + 20 = 17 (010001) +-3 + 21 = 18 (010010) +-3 + 22 = 19 (010011) +-3 + 23 = 20 (010100) +-3 + 24 = 21 (010101) +-3 + 25 = 22 (010110) +-3 + 26 = 23 (010111) +-3 + 27 = 24 (011000) +-3 + 28 = 25 (011001) +-3 + 29 = 26 (011010) +-3 + 30 = 27 (011011) +-3 + 31 = 28 (011100) +-3 + -32 = 29 (011101) +-3 + -31 = 30 (011110) +-3 + -30 = 31 (011111) +-3 + -29 = -32 (100000) +-3 + -28 = -31 (100001) +-3 + -27 = -30 (100010) +-3 + -26 = -29 (100011) +-3 + -25 = -28 (100100) +-3 + -24 = -27 (100101) +-3 + -23 = -26 (100110) +-3 + -22 = -25 (100111) +-3 + -21 = -24 (101000) +-3 + -20 = -23 (101001) +-3 + -19 = -22 (101010) +-3 + -18 = -21 (101011) +-3 + -17 = -20 (101100) +-3 + -16 = -19 (101101) +-3 + -15 = -18 (101110) +-3 + -14 = -17 (101111) +-3 + -13 = -16 (110000) +-3 + -12 = -15 (110001) +-3 + -11 = -14 (110010) +-3 + -10 = -13 (110011) +-3 + -9 = -12 (110100) +-3 + -8 = -11 (110101) +-3 + -7 = -10 (110110) +-3 + -6 = -9 (110111) +-3 + -5 = -8 (111000) +-3 + -4 = -7 (111001) +-3 + -3 = -6 (111010) +-3 + -2 = -5 (111011) +-3 + -1 = -4 (111100) +-2 + 0 = -2 (111110) +-2 + 1 = -1 (111111) +-2 + 2 = 0 (000000) +-2 + 3 = 1 (000001) +-2 + 4 = 2 (000010) +-2 + 5 = 3 (000011) +-2 + 6 = 4 (000100) +-2 + 7 = 5 (000101) +-2 + 8 = 6 (000110) +-2 + 9 = 7 (000111) +-2 + 10 = 8 (001000) +-2 + 11 = 9 (001001) +-2 + 12 = 10 (001010) +-2 + 13 = 11 (001011) +-2 + 14 = 12 (001100) +-2 + 15 = 13 (001101) +-2 + 16 = 14 (001110) +-2 + 17 = 15 (001111) +-2 + 18 = 16 (010000) +-2 + 19 = 17 (010001) +-2 + 20 = 18 (010010) +-2 + 21 = 19 (010011) +-2 + 22 = 20 (010100) +-2 + 23 = 21 (010101) +-2 + 24 = 22 (010110) +-2 + 25 = 23 (010111) +-2 + 26 = 24 (011000) +-2 + 27 = 25 (011001) +-2 + 28 = 26 (011010) +-2 + 29 = 27 (011011) +-2 + 30 = 28 (011100) +-2 + 31 = 29 (011101) +-2 + -32 = 30 (011110) +-2 + -31 = 31 (011111) +-2 + -30 = -32 (100000) +-2 + -29 = -31 (100001) +-2 + -28 = -30 (100010) +-2 + -27 = -29 (100011) +-2 + -26 = -28 (100100) +-2 + -25 = -27 (100101) +-2 + -24 = -26 (100110) +-2 + -23 = -25 (100111) +-2 + -22 = -24 (101000) +-2 + -21 = -23 (101001) +-2 + -20 = -22 (101010) +-2 + -19 = -21 (101011) +-2 + -18 = -20 (101100) +-2 + -17 = -19 (101101) +-2 + -16 = -18 (101110) +-2 + -15 = -17 (101111) +-2 + -14 = -16 (110000) +-2 + -13 = -15 (110001) +-2 + -12 = -14 (110010) +-2 + -11 = -13 (110011) +-2 + -10 = -12 (110100) +-2 + -9 = -11 (110101) +-2 + -8 = -10 (110110) +-2 + -7 = -9 (110111) +-2 + -6 = -8 (111000) +-2 + -5 = -7 (111001) +-2 + -4 = -6 (111010) +-2 + -3 = -5 (111011) +-2 + -2 = -4 (111100) +-2 + -1 = -3 (111101) +-1 + 0 = -1 (111111) +-1 + 1 = 0 (000000) +-1 + 2 = 1 (000001) +-1 + 3 = 2 (000010) +-1 + 4 = 3 (000011) +-1 + 5 = 4 (000100) +-1 + 6 = 5 (000101) +-1 + 7 = 6 (000110) +-1 + 8 = 7 (000111) +-1 + 9 = 8 (001000) +-1 + 10 = 9 (001001) +-1 + 11 = 10 (001010) +-1 + 12 = 11 (001011) +-1 + 13 = 12 (001100) +-1 + 14 = 13 (001101) +-1 + 15 = 14 (001110) +-1 + 16 = 15 (001111) +-1 + 17 = 16 (010000) +-1 + 18 = 17 (010001) +-1 + 19 = 18 (010010) +-1 + 20 = 19 (010011) +-1 + 21 = 20 (010100) +-1 + 22 = 21 (010101) +-1 + 23 = 22 (010110) +-1 + 24 = 23 (010111) +-1 + 25 = 24 (011000) +-1 + 26 = 25 (011001) +-1 + 27 = 26 (011010) +-1 + 28 = 27 (011011) +-1 + 29 = 28 (011100) +-1 + 30 = 29 (011101) +-1 + 31 = 30 (011110) +-1 + -32 = 31 (011111) +-1 + -31 = -32 (100000) +-1 + -30 = -31 (100001) +-1 + -29 = -30 (100010) +-1 + -28 = -29 (100011) +-1 + -27 = -28 (100100) +-1 + -26 = -27 (100101) +-1 + -25 = -26 (100110) +-1 + -24 = -25 (100111) +-1 + -23 = -24 (101000) +-1 + -22 = -23 (101001) +-1 + -21 = -22 (101010) +-1 + -20 = -21 (101011) +-1 + -19 = -20 (101100) +-1 + -18 = -19 (101101) +-1 + -17 = -18 (101110) +-1 + -16 = -17 (101111) +-1 + -15 = -16 (110000) +-1 + -14 = -15 (110001) +-1 + -13 = -14 (110010) +-1 + -12 = -13 (110011) +-1 + -11 = -12 (110100) +-1 + -10 = -11 (110101) +-1 + -9 = -10 (110110) +-1 + -8 = -9 (110111) +-1 + -7 = -8 (111000) +-1 + -6 = -7 (111001) +-1 + -5 = -6 (111010) +-1 + -4 = -5 (111011) +-1 + -3 = -4 (111100) +-1 + -2 = -3 (111101) +-1 + -1 = -2 (111110) + +Info: /OSCI/SystemC: Simulation stopped by user. diff --git a/src/systemc/tests/systemc/misc/unit/data/datawidth_bool_to_signed/promote_lost_carry/main.cpp b/src/systemc/tests/systemc/misc/unit/data/datawidth_bool_to_signed/promote_lost_carry/main.cpp new file mode 100644 index 000000000..5990e96a7 --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/datawidth_bool_to_signed/promote_lost_carry/main.cpp @@ -0,0 +1,77 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + main.cpp -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + + /****************************************/ + /* Main Filename: main.cc */ + /****************************************/ + /* */ + /* 6-bit bool = 4-bit bool + 6-bit bool */ + /* */ + /* Max addition is 63 + 63 */ + /* */ + /****************************************/ + +#include "datawidth.h" +#include "stimgen.h" + +int sc_main(int ac, char *av[]) +{ + +// Parameter Settings + int result_size = 6; + int in1_size = 4; + int in2_size = 6; + +// Signal Instantiation + signal_bool_vector4 in1 ("in1"); + signal_bool_vector6 in2 ("in2"); + signal_bool_vector6 result ("result"); + sc_signal<bool> ready ("ready"); + +// Clock Instantiation + sc_clock clk( "clock", 10, SC_NS, 0.5, 0, SC_NS); + +// Process Instantiation + datawidth D1 ("D1", clk, in1, in2, ready, result, + in1_size, in2_size, result_size); + + stimgen T1 ("T1", clk, result, in1, in2, ready); + +// Simulation Run Control + sc_start(); + return 0; +} diff --git a/src/systemc/tests/systemc/misc/unit/data/datawidth_bool_to_signed/promote_lost_carry/promote_lost_carry.f b/src/systemc/tests/systemc/misc/unit/data/datawidth_bool_to_signed/promote_lost_carry/promote_lost_carry.f new file mode 100644 index 000000000..052991cee --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/datawidth_bool_to_signed/promote_lost_carry/promote_lost_carry.f @@ -0,0 +1,3 @@ +promote_lost_carry/datawidth.cpp +promote_lost_carry/stimgen.cpp +promote_lost_carry/main.cpp diff --git a/src/systemc/tests/systemc/misc/unit/data/datawidth_bool_to_signed/promote_lost_carry/stimgen.cpp b/src/systemc/tests/systemc/misc/unit/data/datawidth_bool_to_signed/promote_lost_carry/stimgen.cpp new file mode 100644 index 000000000..9a98bd4a9 --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/datawidth_bool_to_signed/promote_lost_carry/stimgen.cpp @@ -0,0 +1,69 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + stimgen.cpp -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + + /*****************************************/ + /* Implementation Filename: stimgen.cc */ + /*****************************************/ + +#include "stimgen.h" + +void +stimgen::entry() +{ + int i; + int j; + + ready.write(0); + + for (i = 0; i < 64; i++) { // integer in1 (6 bits of data) + for (j = 0; j < 64; j++) { // integer in2 (6 bits of data) + in1.write(i); + in2.write(j); + ready.write(1); + wait(); + + ready.write(0); + wait(); + + cout << in1.read().to_int() << " + " << in2.read().to_int() + << " = " << result.read().to_int() + << " (" << result << ")" << endl; + } + } + + sc_stop(); +} diff --git a/src/systemc/tests/systemc/misc/unit/data/datawidth_bool_to_signed/promote_lost_carry/stimgen.h b/src/systemc/tests/systemc/misc/unit/data/datawidth_bool_to_signed/promote_lost_carry/stimgen.h new file mode 100644 index 000000000..e2675e0b4 --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/datawidth_bool_to_signed/promote_lost_carry/stimgen.h @@ -0,0 +1,77 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + stimgen.h -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + + /************************************/ + /* Interface Filename: stimgen.h */ + /************************************/ + +#include "common.h" + +SC_MODULE( stimgen ) +{ + SC_HAS_PROCESS( stimgen ); + + sc_in_clk clk; + + // Inputs + const signal_bool_vector6& result; + // Outputs + signal_bool_vector4& in1; + signal_bool_vector6& in2; + sc_signal<bool>& ready; + + // Constructor + stimgen (sc_module_name NAME, + sc_clock& TICK, + const signal_bool_vector6& RESULT, + signal_bool_vector4& IN1, + signal_bool_vector6& IN2, + sc_signal<bool>& READY ) + + : + result (RESULT), + in1 (IN1), + in2 (IN2), + ready (READY) + + { + clk (TICK); + SC_CTHREAD( entry, clk.pos() ); + } + + void entry(); +}; |