public void Translate() { List <long> dataSet = new List <long>(); for (int i = 0; i < (int)(this.text.Count / this.height); i++) { string[] subDigi = new string[this.height]; for (int j = 0; j < this.height; j++) { subDigi[j] = this.text[i * this.height + j]; } dataSet.Add(MayaDigi.Recognize(subDigi)); } // long result = 0; for (int i = dataSet.Count - 1; i >= 0; i--) { long d = dataSet[i]; if (dataSet.Count - 1 - i == 0) { result = result + d; } else { int pow = 1; for (int j = 0; j < dataSet.Count - 1 - i; j++) { pow = 20 * pow; } result = result + pow * d; } } this.digi = result; }