This book introduces the concept of approximate computing for software and hardware designs and its impact on the reliability of embedded systems. It presents approximate computing methods and proposes approximate fault tolerance techniques applied to programmable hardware and embedded software to provide reliability at low computational costs. The book also presents fault tolerance techniques based on approximate computing, thus presenting how approximate computing can be applied to safety-critical systems.