Bir işlemi Java'ya aktarıyorum. C# ve C++ 'da zaten çalışan versiyonlar var.Java'da uzun [64] bayt [512] 'ya dönüştürme?
C# içinde Marshal.Copy (...) yapmam gereken bir bölümüm var ve 64 + 512 bayta dönüştürebilmek için C++ 'da bu satırın aynısını yapmak için memmove (...) kullanıyorum. Aynı sonucu elde etmek için Java'da ne var? Aynı ikili bilgiyi aynı sıraya göre sadece uzun bayt yerine baytlara ihtiyacım var.
Düzenleme:
Java için taşıma nedenim Java doğal olarak vardır taşınabilirlik yararlanmak etmektir. Yerel kod kullanmak istemem.
Başka bir şey. Java imzasız değerleri içermediğinden, az önce istediğimi değiştirmem gerekiyor. 64 uzunluğun her birinden 8 imzasız bayt değerine ulaşmak istiyorum (C# ve C++). Bu değerleri daha sonra dizilerdeki indislerde kullanabilirim. Bunun binlerce kez gerçekleşmesi için en hızlı yol en iyi yol olacaktır.
+1 Döngüye bile ihtiyacınız yoktur: bb.asLongBuffer(). Put (la); – wierob
Teşekkürler! Öneriniz daha kolay okunur ve potansiyel olarak daha verimli. http://java.sun.com/javase/6/docs/api/java/nio/ByteBuffer.html#views – trashgod