Я непосредственно собрал бы число с плавающей точкой с помощью его двоичного представления.
Read в символе номер один за другим и сначала находят все цифры. Сделайте это в целочисленной арифметике. Также отслеживайте десятичную точку и экспоненту. Этот будет важен позже.
Теперь можно собрать число с плавающей точкой. Первое, что нужно сделать состоит в том, чтобы просканировать целочисленное представление цифр для первого одноразрядного набора (самый высокий к самому низкому).
биты сразу после первого одноразрядного являются Вашей мантиссой.
Получение экспоненты не трудно также. Вы знаете первое одноразрядное положение, положение десятичной точки и дополнительной экспоненты от экспоненциального представления. Объедините их и добавьте смещение экспоненты с плавающей точкой (я думаю, что это 127, но проверьте некоторую ссылку).
Эта экспонента должна быть где-нибудь в диапазоне от 0 до 255. Если это больше или меньше, у Вас есть положительное или отрицательное бесконечное число (особый случай).
Хранилище экспонента как он в биты 24 - 30 из Вашего плавания.
старший значащий бит является просто знаком. Каждый имеет в виду отрицательные, нулевые положительные средства.
более трудно описать, чем это действительно, попытайтесь анализировать число с плавающей точкой и смотреть на экспоненту и мантиссу, и Вы будете видеть, насколько легкий это действительно.
Btw - выполнение арифметики в самой плавающей точке является плохой идеей, потому что Вы будете всегда вынуждать свою мантиссу быть усеченной к 23 значимым битам. Вы не получите точное представление тот путь.
Если у вас есть список из 53 элементов, последним будет thelist [52]
, потому что индексирование начинается с 0.
Да,
Вы пытаетесь получить доступ к несуществующему элементу списка.
MyList = ["item1", "item2"]
print MyList[0] # Will work
print MyList[1] # Will Work
print MyList[2] # Will crash.
У вас возникла ошибка нечеткости?
Верно. "индекс списка вне допустимого диапазона", скорее всего, означает, что вы имеете в виду n-й
элемент списка, а длина списка меньше, чем n
.