Ejemplo n.º 1
0
        public override FourfouldNumber ToFourfouldNumber()
        {
            ManagerTranslatePNS.AddMessageTranslate(PNS.Decimal, PNS.Fourfould);

            //так как максимальное число в 4-ой системе 3333, то максимальная длина массива 4
            char[] coding = getCodingPNS(_code,4,4);
            FourfouldNumber finishNumber = new FourfouldNumber(coding);
            return finishNumber;
        }
        public FourfouldNumber ToFourfouldNumber()
        {
            ManagerTranslatePNS.AddMessageTranslate(PNS.Binary, PNS.Fourfould);

            char[] finishCoding = new char[4];
            for(var i = 0; i < 8 ; i+=2)
            {
                string pair = ToPair(_code[i],_code[i + 1]);
                int index = i/2;
                finishCoding[index] = binaryPairToFourfouldSymbol(pair);
            }
            FourfouldNumber finishNumber = new FourfouldNumber(finishCoding);
            return finishNumber;
        }
        public override FourfouldNumber ToFourfouldNumber()
        {
            ManagerTranslatePNS.AddMessageTranslate(PNS.Hexadecimal, PNS.Fourfould);
            StringBuilder tempStrCode = new StringBuilder();

            for (int i = 0; i < 2; i++)
            {
                switch (_code[i])
                {
                    case '0': tempStrCode.Append("00"); ManagerTranslatePNS.AddMessageTranslatePartNumber("0", "00"); break;
                    case '1': tempStrCode.Append("01"); ManagerTranslatePNS.AddMessageTranslatePartNumber("1", "01"); break;
                    case '2': tempStrCode.Append("02"); ManagerTranslatePNS.AddMessageTranslatePartNumber("2", "02"); break;
                    case '3': tempStrCode.Append("03"); ManagerTranslatePNS.AddMessageTranslatePartNumber("3", "03"); break;
                    case '4': tempStrCode.Append("10"); ManagerTranslatePNS.AddMessageTranslatePartNumber("4", "10"); break;
                    case '5': tempStrCode.Append("11"); ManagerTranslatePNS.AddMessageTranslatePartNumber("5", "11"); break;
                    case '6': tempStrCode.Append("12"); ManagerTranslatePNS.AddMessageTranslatePartNumber("6", "12"); break;
                    case '7': tempStrCode.Append("13"); ManagerTranslatePNS.AddMessageTranslatePartNumber("7", "13"); break;
                    case '8': tempStrCode.Append("20"); ManagerTranslatePNS.AddMessageTranslatePartNumber("8", "20"); break;
                    case '9': tempStrCode.Append("21"); ManagerTranslatePNS.AddMessageTranslatePartNumber("9", "21"); break;
                    case 'A': tempStrCode.Append("22"); ManagerTranslatePNS.AddMessageTranslatePartNumber("A", "22"); break;
                    case 'B': tempStrCode.Append("23"); ManagerTranslatePNS.AddMessageTranslatePartNumber("B", "23"); break;
                    case 'C': tempStrCode.Append("30"); ManagerTranslatePNS.AddMessageTranslatePartNumber("C", "30"); break;
                    case 'D': tempStrCode.Append("31"); ManagerTranslatePNS.AddMessageTranslatePartNumber("D", "31"); break;
                    case 'E': tempStrCode.Append("32"); ManagerTranslatePNS.AddMessageTranslatePartNumber("E", "32"); break;
                    case 'F': tempStrCode.Append("33"); ManagerTranslatePNS.AddMessageTranslatePartNumber("F", "33"); break;
                }
            }
            FourfouldNumber number = new FourfouldNumber(tempStrCode.ToString().ToCharArray());

            return number;
        }