Двухбайтовый Размер в ОС на 64 бита и на 32 бита

Если списки имеют одинаковый размер, вы можете объединить их в списки из 4-х кортежей с помощью zip(). Например:

# Four lists of four elements each.

l1 = range(0, 4)
l2 = range(4, 8)
l3 = range(8, 12)
l4 = range(12, 16)

for i1, i2, i3, i4 in zip(l1, l2, l3, l4):
    ...

Вот что производит функция zip():

>>> print l1
[0, 1, 2, 3]
>>> print l2
[4, 5, 6, 7]
>>> print l3
[8, 9, 10, 11]
>>> print l4
[12, 13, 14, 15]
>>> print zip(l1, l2, l3, l4)
[(0, 4, 8, 12), (1, 5, 9, 13), (2, 6, 10, 14), (3, 7, 11, 15)]

Если списки большие, и вы не хотите объединять их в больший список, используйте itertools.izip(), который производит итератор, а не список.

from itertools import izip

for i1, i2, i3, i4 in izip(l1, l2, l3, l4):
    ...
33
задан John Kugelman supports Monica 9 July 2009 в 02:19
поделиться

3 ответа

Нет, IEEE 754 число с плавающей запятой двойной точности всегда 64 бита. Точно так же float одинарной точности всегда 32 бита.

Если ваш вопрос касается конкретно C # и / или .NET (как указывает ваш тег), все размеры типов данных фиксированы, независимо от архитектуры вашей системы. Это то же самое, что и Java, но отличается от C и C ++, где размеры типов действительно различаются от платформы к платформе.

Целочисленные типы обычно имеют разные размеры на разных архитектурах C и C ++. Например, int имел ширину 16 бит в 16-битной DOS и 32 бита в Win32. Тем не мение,

65
ответ дан 27 November 2019 в 17:48
поделиться

В C # double всегда 8 байт (64 бита)

10
ответ дан 27 November 2019 в 17:48
поделиться

Это не меняется.

Простой способ проверить это - написать простое консольное приложение с

Console.WriteLine(Double.MaxValue);

и скомпилировать его как для x86, так и для x64.

8
ответ дан 27 November 2019 в 17:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: