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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : abrasha shapirus                     2:550/4077.940 04 Aug 2004  18:15:34
 To : All
 Subject : знаковая/беззнаковая арифметика
 -------------------------------------------------------------------------------- 
 
 
 как сделать так, чтобы операции % и / возвращали беззнаковый результат и их
 аргументы считались беззнаковыми?
 
 например, конструкция вроде
 
 use integer;
 print 3287258646 / 256 . "\n";
 
 печатает отрицательное число. пример взят из реальной жизни, где я обошел
 проблему, применив сдвиг вправо на 8 бит вместо деления на 256 (и написав no
 integer), но на будущее хотелось бы знать, потому как делить, возможно, не
 только на кратные 256 числа придется.
 
 кроме того, интересно узнать, как так сделать, чтобы последовательность '%u' в
 первом аргументе printf() была не unsigned int, а unsigned char, то есть, чтобы 
 printf('%u', -1) выводил не число, равное 2^32 - 1, а число, равное 2^8 - 1.
 
                                                                        шапирус.
 ... Я не получаю почту ни у Янкевича, ни у Яргина.
 ---
  * Origin:  (2:550/4077.940)
 
 

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

 Тема:    Автор:    Дата:  
 знаковая/беззнаковая арифметика   abrasha shapirus   04 Aug 2004 18:15:34 
 Re: знаковая/беззнаковая арифметика   Anatoly Moskovsky   05 Aug 2004 15:19:19 
Архивное /ru.perl/466841110017.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional