Нажмите CTRL-D чтобы добавить нас в закладки
HackZone.RU - Деление с остатком выполняется как? Актуальные базы 2GIS в форматах CSV,Excel,SQL
Войти / Регистрация / Участники
Определение даты выпуска iPhone по серийному номеру
-
Поиск по сайту
Форумы



Реклама

Программирование / Java RSS подписка на сообщения с форума Subscribe Модераторы: RenGO, B3JIoMep, BRUNOTTI, Virous
Java и JavaScript

Новая тема Наиболее обсуждаемые темы Наиболее посещаемые темы
Поиск 
Период
Перейти

Просмотров - 5262
Деление с остатком выполняется как?
Добавить этот топик в закладки »
RSS-лента ответов »Subscribe
Su4


Member
# | Сообщение добавлено 16.07.2007 09:12:27
Отредактировано 16.07.2007 09:18:42 by Su4
Сразу извиняюсь за тупой вопрос, в оправдание то, что я не знаю Явуъ.
Как выполняется деление с остатком а % с ?
 
Декомпилировал одну весчъ, попались странные фрагменты:

int k1 = i1 / 8;
int j1 = (i1 + 6) / 8;
int l1 = (i1 - k1 * 8) % 8;

Почему нельзя вместо этого просто

int k1 = i1 / 8;
int j1 = (i1 + 6) / 8;
int l1 = i1 % 8;

 
И еще:

tmp = (abyte0[j1] + 256) % 256;

С учетом того, что abyte0[] объявлен как byte, вроде просится

tmp = abyte0[j1];

Это грехи декомпилятора или я в чем=то вышесказанном не прав?
 
Доверять можно только Богу, остальные под подозрением
Сказать спасибо Ответить Цитировать

scf37


Novice
# | Сообщение добавлено 19.07.2007 22:36:42
Я давненько не садился за Яву, но попытаюсь ответить...
Это точно не грехи декомпилятора, он самодеятельностью не страдает. Если так написал, значит так написал программист (т.к. современные компиляторы Java оптимизировать код не умеют)
1 случай: разница может быть в случае i1 < k1 * 8 - у результата будет отрицательный знак
2 случай: byte - знаковый тип. т.е. (Byte + 256)%256 - получаем наш байт в дополнительном коде.
Сказать спасибо Ответить Цитировать

Su4


Member
# | Сообщение добавлено 19.07.2007 23:40:28
Так написал программист... Это понятно.
1. i1 изменяется от 0 до 66 с шагом 6. Отрицательные значения исключены.
2. Спасибо, я по привычке думал, что байт беззнаковый. Так и придется лезть в теорию.
 
Еще возник третий вопрос:

int l1 = s1.length() <= 8 ? 8 : s1.length();
однако перед этим имеем цикл

for(; s1.length() < 12; s1 = s1 + " ");
из которого очевидно, что s1.length = 12 при любой начальной длине. Странно как=то выходит. Зачем условное присваивание, если условие всегда ложно... Please, наведите на мысль...
 
Доверять можно только Богу, остальные под подозрением
Сказать спасибо Ответить Цитировать

scf37


Novice
# | Сообщение добавлено 20.07.2007 07:45:06
Ну, это уже стиль программирования
Наверное, дополнение строки до 12 символов и вычисление "длины" находятся в разных структурных единицах. И чем меньше зависимостей между ними (в том числе и ограничений по длине строки) - тем лучше
Сказать спасибо Ответить Цитировать

Su4


Member
# | Сообщение добавлено 20.07.2007 12:43:19
Ясно, спасибо. Действительно в разных структурных единицах. Но последняя вызывеается только после того цикла, и нигде больше. Может, разные программисты писали)
Не удается привести кусок в компилируемый вид, потому и ищу причину в мелочах, не разобравшись с сутью. Хотел быстренько содрать алгоритм, а придется изучать Яву и чужие стили)
 
Доверять можно только Богу, остальные под подозрением
Сказать спасибо Ответить Цитировать


Только зарегистрированные пользователи могут оставлять сообщения в форуме

Зарегистрироваться *** Авторизоваться

 Последние новости и статьи  Последние сообщения с форумов
  • Самозащита от вируса Petya
  • Google Pixel взломали за 60 секунд
  • В CMS Joomla обнаружена критическая 0-day уязвимость
  • ФБР не смогло взломать протокол шифрования переписки террористов ...
  • Полиция обыскала дом предполагаемого создателя платежной системы ...
  • Google: квантовый ПК будет в 100 млн раз быстрее стандартных чипо...
  • "Лаборатория Касперского" констатирует усиление атак кибергруппир...
  • Microsoft Edge откроет исходные коды ChakraCore
  • Anonymous объявили 11 декабря «днём троллинга» ИГИЛ
  • Миллионы телевизоров, смартфонов и маршрутизаторов оказались уязв...

    Все новости... Все статьи... Прислать новость RSS
  • Сети / Общее » Взлом распечатка СМС и звонков
  • Взлом и безопасность / Новичкам » Взлом Удаленного доступа к телефонам и пк. Взлом Iphone
  • Взлом и безопасность / Программы » Прошу взломать программу
  • Разное / Ищу работу » Re: Качественный подбор паролей к почтам. Работаем с 2011 го...
  • Взлом и безопасность / Программы » Re: Нужно взломать две программы power-equilab и piosolver
  • Разное / Продам, отдам » Закрыто
  • Взлом и безопасность / Фрикинг » Re: Нужно отвязать скрипт от лицензии. кто поможет?
  • Взлом и безопасность / Новичкам » Взлом сайтов на заказ !
  • Взлом и безопасность / Новичкам » Взлом Whatsapp.Viber.Instagram. facebook.Узнаем взломаем !!!
  • Взлом и безопасность / Фрикинг » Нужно отвязать скрипт от лицензии. кто поможет?

    Все форумы... RSS


  • Разместить рекламу
    © HackZone Ltd. 2007-2012. Все права зарегистрированы.
    Перепечатка материалов без согласования и указания источника будет преследоваться по Закону

    О проекте | История проекта | Размещение рекламы | Обратная связь | Правила поведения на портале
    Ya-Cyt службы мониторинга серверов

    #{title}

    #{text}

    x

    #{title}

    #{text}