Cuando la gente dice 1s y 0s, a lo que realmente nos referimos son los niveles lógicos, donde un 0 se refiere a un nivel 'bajo' y un 1 se refiere a un nivel 'alto'. Dado que estos son solo niveles de voltaje, la computadora puede reconocer y operar en estos de forma nativa.
Además, un programa de computadora generalmente se almacena como 0s y 1s antes de compilar también, ya que todo en su computadora se almacenará de esa manera. Sin embargo, después de compilar, obtendrá un archivo lleno de lo que se llama código de máquina. El código de máquina es una lista de instrucciones binarias (a diferencia del texto como el código fuente original) que los circuitos del procesador pueden interpretar directamente.
Editar: agregando más detalles ya que los comentarios son demasiado cortos. Digamos que tienes un programa sentado en la memoria RAM. La memoria RAM en su computadora se llama DRAM. Una 'celda' de DRAM contiene un 'bit' de información, ya sea un 0 o un 1. Una celda de DRAM consiste en un solo transistor y un solo capacitor. El transistor se puede encender para permitir el acceso al capacitor, ya sea para cargarlo y almacenar un 1, descargarlo y almacenar un 0, o leer la carga almacenada. Un chip DRAM moderno tendrá varios miles de millones de estas celdas, junto con demultiplexores de direcciones, amplificadores de sensores, circuitos de interfaz de bus, temporizadores de actualización automática, etc. El chip DRAM está conectado al procesador con dos buses paralelos anchos y algunas líneas de control. Los buses son el bus de direcciones y el bus de datos. El bus de dirección le dice al chip de memoria a qué celdas acceder, y el bus de datos lleva los datos en la dirección apropiada. Cada bus es simplemente un grupo de cables en paralelo, y cada cable puede configurarse en un nivel "alto" o en un nivel "bajo". Estos generalmente corresponden a los niveles de alimentación. Por ejemplo, DDR2 SDRAM utiliza un estándar IO llamado SSTL_18, que define un 'cero' como 0 voltios y un 'uno' como 1,8 voltios. De todos modos, su programa se almacenará en una secuencia de estas celdas en un chip DRAM. En una celda DRAM, un 1 corresponde a una celda con un capacitor cargado, y un 0 corresponde a una celda con un capacitor vacío. Para leer el contenido de la memoria, el procesador maneja una dirección en el bus de direcciones y establece las líneas de control para indicar a la lógica de los chips DRAM que lean los datos en esa dirección. La lógica en el chip DRAM conectará las celdas particulares a los amplificadores de los sentidos y leerá la carga almacenada en ellos. Estos niveles serán expulsados de los chips DRAM en el bus de datos hacia la CPU. La CPU leerá los niveles de tensión en el bus de datos con búferes de entrada, adaptando la tensión de la tensión del bus de memoria a la tensión interna de la CPU. Una vez dentro del núcleo de la CPU, lo más probable es que los datos se escriban en una memoria caché basada en SRAM. SRAM almacena cada bit de datos en celdas SRAM que generalmente consisten en 6 transistores. Una vez que la CPU esté lista para ejecutar el código, se copiará fuera de la memoria caché y en un bus de instrucciones interno. La lógica dentro de la CPU interpretará el patrón de bits en el bus y luego realizará las acciones necesarias para ejecutar la instrucción.