High-speed signal processing can easily be performed using Residue Number Systems (RNS), which require smaller word-lengths than conventional processors. This paper serves as a tutorial on RNS implementation, summarizing the current state of the art and addressing issues of RNS-to-binary conversion, binary-to-RNS conversion, scaling, and multiplication.