In the last two decades, energy has become a crucial resource whose consumption must be minimized while designing computing systems. This has affected every aspect of computing ranging from large scale supercomputers and data centers to small scale (but high volume) embedded systems comprising filters, digital signal processors (DSPs), and accelerators. Energy constraints play a particularly crucial role in battery operated devices (cell phones, wearables) and other energy constrained systems like unmanned aerial vehicles and sensor networks. In this backdrop of efforts to improve energy efficiency, a very interesting technique aimed at trading error for energy gains emerged over a decade ago. Typical computing systems are engineered to be exact. Energy gains have been achieved while compromising soft constraints like running time. This new technique called inexact computing or approximate computing aims push the envelope to achieve energy gains at the cost of an increased inexactness or error in the system. This radical shift has often yielded surprisingly significant energy gains with little to no side effects because many algorithms and applications (like DSP applications, big data applications, large scale numerical models) are inherently tolerant to error. © 2015 IEEE.