Pada dasarnya, semua rangkaian adalah analog. Masalah dengan melakukan perhitungan dengan tegangan atau arus analog adalah kombinasi antara noise dan distorsi. Sirkuit analog tunduk pada kebisingan dan sangat sulit untuk membuat sirkuit analog linier dalam urutan besar. Setiap tahap dari rangkaian analog akan menambah noise dan / atau distorsi pada sinyal. Ini bisa dikontrol, tetapi tidak bisa dihilangkan.
Sirkuit digital (yaitu CMOS) pada dasarnya mengesampingkan seluruh masalah ini dengan menggunakan hanya dua level untuk merepresentasikan informasi, dengan setiap tahap membuat ulang sinyal. Siapa yang peduli jika outputnya mati sebesar 10%, itu hanya harus di atas atau di bawah ambang batas. Siapa yang peduli jika output terdistorsi 10%, sekali lagi hanya harus di atas atau di bawah ambang batas. Pada setiap ambang batas membandingkan, sinyal pada dasarnya dibuat ulang dan masalah noise / nonlinier / dll. ditelanjangi. Hal ini dilakukan dengan memperkuat dan memotong sinyal input - sebuah CMOS inverter hanyalah sebuah penguat yang sangat sederhana yang dibuat dengan dua transistor, dioperasikan loop terbuka sebagai pembanding. Jika level didorong melewati ambang, maka Anda mendapatkan sedikit kesalahan. Prosesor umumnya dirancang untuk memiliki tingkat kesalahan bit pada urutan 10 ^ -20, IIRC. Karena ini, sirkuit digital sangat kuat - mereka dapat beroperasi pada berbagai kondisi yang sangat luas karena linearitas dan kebisingan pada dasarnya tidak menjadi masalah. Hampir sepele untuk bekerja dengan angka 64 bit secara digital. 64 bit mewakili 385 dB rentang dinamis. Itu 19 urutan besarnya. Tidak ada cara di neraka Anda akan mendapatkan mendekati analog dengan sirkuit. Jika resolusi Anda adalah 1 picovolt (10 ^ -12) (dan ini pada dasarnya akan dibanjiri secara instan oleh noise termal) maka Anda harus mendukung nilai maksimum 10 ^ 7. Yaitu 10 megavolt. Sama sekali tidak ada cara untuk beroperasi pada rentang dinamis semacam itu dalam analog - sangat tidak mungkin. Pertukaran penting lainnya dalam sirkuit analog adalah bandwidth / kecepatan / waktu respons dan derau / rentang dinamis. Sirkuit bandwidth yang sempit akan mengeluarkan noise rata-rata dan bekerja dengan baik pada rentang dinamis yang luas. Imbalannya adalah mereka lambat. Sirkuit bandwidth lebar cepat, tetapi noise adalah masalah yang lebih besar sehingga jangkauan dinamis terbatas. Dengan digital, Anda dapat melempar bit pada masalah untuk meningkatkan jangkauan dinamis atau mendapatkan peningkatan kecepatan dengan melakukan hal-hal secara paralel, atau keduanya.
Namun, untuk beberapa operasi, analog memiliki kelebihan - lebih cepat, lebih sederhana, konsumsi daya yang lebih rendah, dll. Digital harus dikuantifikasi dalam level dan waktu. Analog keduanya kontinu. Salah satu contoh di mana analog menang ada di penerima radio di kartu wifi Anda. Sinyal input masuk pada 2,4 GHz. Penerima yang sepenuhnya digital akan membutuhkan ADC yang menjalankan setidaknya 5 gigasamples per detik. Ini akan menghabiskan banyak tenaga. Dan itu bahkan tidak mempertimbangkan pemrosesan setelah ADC. Saat ini, ADC dengan kecepatan itu benar-benar hanya digunakan untuk sistem komunikasi baseband berperforma sangat tinggi (misalnya modulasi optik koheren simbol rate tinggi) dan pada peralatan uji. Namun, beberapa transistor dan pasif dapat digunakan untuk mengonversi 2.
Intinya adalah bahwa ada kelebihan dan kekurangan untuk komputasi analog dan digital. Jika Anda dapat mentolerir kebisingan, distorsi, rentang dinamis rendah, dan / atau presisi rendah, gunakan analog. Jika Anda tidak dapat mentolerir kebisingan atau distorsi dan / atau Anda memerlukan rentang dinamis tinggi dan presisi tinggi, maka gunakan digital. Anda selalu dapat membuang bit lebih banyak pada masalah untuk mendapatkan lebih banyak presisi. Tidak ada analog yang setara dengan ini.