00001 /* 00002 * Sign.h 00003 * 00004 * Created on: 06.04.2011 00005 * Author: Juern 00006 */ 00007 00008 #ifndef SIGN_H_ 00009 #define SIGN_H_ 00010 00011 namespace PC 00012 { 00013 00019 typedef char Sign; 00020 const Sign ZERO = 0/*0b00*/; 00021 const Sign PLUS = 1/*0b01*/; 00022 const Sign MINUS = 2/*0b10*/; 00023 00024 void addSigns(const Sign& op1, const Sign& op2, Sign& result, Sign& carry); 00025 int compareSigns(const Sign& op1, const Sign& op2); 00026 int signToInt(const Sign& s); 00027 Sign negateSign(const Sign& s); 00028 std::string signToString(const Sign& s); 00029 00030 } 00031 00032 #endif /* SIGN_H_ */