1. A computing device, comprising: a memory; and a controller, wherein said controller is configured to compress an electronic file by transforming at least a portion of said file to a number (X) and transforming the number (X) to an exponent vector (exp) comprising at least one exponent, wherein each exponent corresponds to a base in a base vector (base), whereby the file is represented by the exponent vector (exp), wherein said controller is configured to: setting a first base in the base vector to be the current base; finding an exponent for the current base; including the exponent in the exponent vector (exp); determining a residual number (X res ) by reducing the number (X) by the base raised to the power of the exponent; if the current base is not the last base in the base vector (base), then setting the current base to be the next base in the base vector (base); setting the number (X) to be the residual number (X res ) finding an exponent for the new current base; and else if the current base is the last base in the base vector (base), then setting a constant (K) to be the residual number (X res ) and generating a representation comprising the exponent vector (exp) and the constant whereby said at least a portion of said file is transformed into the number (X) forming a converted file representing the electronic file to be compressed; and storing the converted file in a computer readable memory.