Two words "Binary Math".
You need to walk the string from lest significant digit to most significant.
store the current string value in a byte call this currentValue.
have another byte[] with the multiplier.
and another byte[] for the result.
start off with;
byte[] multiplier = new byte[1];
multiplier[0] = 1;
byte currentValue = null;
byte[] result = new byte[1];
result[0] = 0;
foreach(char charValue in "5634007873432376567543455665632123345654".toCharArray().Reverse())
{
currentValue = (byte)Convert.ToInt16(charValue );
result = result + (currentValue * multiplier);
multiplier = multiplier * 10;
}
obviously this is the pseudocode version as the byte arrays, multiplier and result, will need to grow as the number stored in them gets larger.