|
|
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)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/466841110017.html, оценка из 5, голосов 10
|