Требуется скопировать небольшую функцию с Java (Android Studio) на Delphi, для этого необходимо функцию эту переделать немного так как синтаксис отличается. Столкнулся с проблемой при редактировании, не понимаю что значат данные строки, прошу объяснить и написать как будут выглядеть строки в Delphi
Код в Java:
public static long get(byte[] bytes, int offset, int bytesCount) {
if (bytes.length == 0) {
throw new IllegalArgumentException("Empty array");
} else {
long result = 0;
for (int i = offset; i < offset + bytesCount; i++) {
result ^= (((long) bytes[i]) & 255) << ((((bytesCount - 1) + offset) - i) * 8);
}
return result;
}
}
Не понятна следующая строка:
result ^= (((long) bytes[i]) & 255) << ((((bytesCount - 1) + offset) - i) * 8);
Мои наработки на данный момент в Delphi (до данной строки):
function get(bytes: array of byte; offset,bytesCount: integer):LongInt;
var
i:integer;
begin
if (length(bytes) = 0) then begin
end else begin
result := 0;
for i := offset to (offset + bytesCount) do begin
Прошу помощи в переделке, спасибо!
Bitwise Operators
http://www.delphibasics.co.uk/RTL.asp?Name=shl
<<
- shl
http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/devcommon/expressions_xml.html
^
- xor
&
- and
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
На проекте используется Spring Security, стандартная форма логинаСейчас еще нужно дабавить возможность авторизации через Azure AD(с помощью протокола...