Я думал, что перфокарты уже представляют код в двоичном виде, так как на перфокарте отверстие означает 0, а позиции покоя означают 1.
Были перфокарты разных типов.
На перфокарте System 3 данные были сохранены как двоичные данные, как вы и ожидаете.
Однако карты, показанные на вашем изображении, 80- столбец IBM card , который представляется наиболее распространенным типом перфокарт.
Используя этот тип перфокарт, вы могли изначально хранить до 80 десятичных цифр на карту:
Каждый столбец имеет 10 позиций (отмечены «0» - «9»). Чтобы сохранить di git в столбце, вы пробиваете отверстие в соответствующей позиции: Чтобы сохранить di git "5", вы пробиваете отверстие в позиции "5".
Это означает, что первоначально в каждом столбце было только одно отверстие.
Позже других символов хранилось на таких карточках. Это было сделано путем пробивания двух отверстий в столбце и добавления двух дополнительных строк (с внутренним названием «11» и «12») в верхней части карты.
В каждом столбце вы можете:
- Пробейте одно отверстие в одном из 12 положений или
- пробейте одно отверстие в одном из положений «1» - «9» и второе в положении «0», «11» или « 12 ".
Это позволяет хранить до 12 + 3 * 9 = 39 различных символов плюс символ пробела (который представляется столбцом без отверстия).
Мне интересно, были ли перфокарты действительно двоичными или нужны были какие-то ассемблеры для преобразования входных данных перфокарт в машинный код?
Двоичный код для IBM 1401 был хранится на перфокартах типа «80 колонок». Код с перфокарт был загружен в ОЗУ (фактически: magneti c память ядра) и выполнен непосредственно.
Однако, насколько я помню, на 1401 могло быть до 3 отверстий на столбец.
Но такие перфокарты были также очень популярны для хранения программ на Фортране: одна карта на строку кода. Если у вас была карта с кодом Фортрана, вам нужен компилятор Фортрана.