Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Andrey Sapozhnikov                   2:5020/400     09 Oct 2002  16:12:43
 To : Eugene Grosbein
 Subject : Re: int64
 -------------------------------------------------------------------------------- 
 
 Eugene Grosbein wrote:
 
 > Привет!
 > 
 > Обрабатываю перлом (5.005_03) счетчики, каждый из них беззнаковый, 32 бита.
 > Hадо их суммировать и результат сохранять. Соответственно результат
 > должен быть 64 бита. В каком разделе perldoc про разрядность есть?
 > Hе будет он молча заворачивать по модулю 2^32?
 
 Зависит от OS, компилятора и опций сборки perl. Спроси у интерпретатора:
 
 $ perl -V:intsize -V:longsize -V:longlongsize -V:ivtype
 intsize='4';
 longsize='4';
 longlongsize='8';
 ivtype='long';
 
 в данном примере perl собран с поддержкой IV типа long
 который на данной платформе 4-байтовый (32 бита). Hо
 можно было собрать и с 64-битным longlong, хотя это
 привело бы к потере скорости (longlong - расширение GCC
 для целых превышающих native разрядность системы).
 
 По поводу "заворачивания" - perldoc perlnumber:
 
         All the operators which need an argument in the integer format treat
         the argument as in modular arithmetic, e.g., "mod 2**32" on a 32-bit
         architecture.  "sprintf "%u", -1" therefore provides the same result as
         "sprintf "%u", ~0".
 
 Андрей
 
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: int64   Andrey Sapozhnikov   09 Oct 2002 16:12:43 
Архивное /ru.perl/657717de4799.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional