سؤال

في C++, استمتعت الوصول إلى 64 بت غير صحيح ، عبر unsigned long long int, أو عبر uint64_t.الآن في جافا يتوق هي 64 بت أعلم.ومع ذلك ، يتم التوقيع عليها.

هل هناك غير موقعة طويلة (طويلة) متاح جافا بدائية ؟ كيف يمكنني استخدامه ؟

هل كانت مفيدة؟

المحلول

وأنا لا أعتقد ذلك. مرة واحدة تريد أن تذهب أكبر من وقعت منذ فترة طويلة، وأعتقد أن BigInteger هو فقط (من خارج منطقة الجزاء) وسيلة للذهاب.

نصائح أخرى

وابتداء جافا 8، هناك دعم غير موقعة طويلة (غير موقعة 64 بت). الطريقة التي يمكن استخدامها هي:

Long l1 = Long.parseUnsignedLong("17916881237904312345");

لطباعته، لا يمكنك ببساطة طباعة L1، ولكن عليك أولا:

String l1Str = Long.toUnsignedString(l1)

ثم

System.out.println(l1Str);

وكلا، ليست هناك. سيكون لديك لاستخدام البدائي نوع البيانات long والتعامل مع القضايا signedness، أو استخدام فئة مثل <وأ href = "http://java.sun.com/javase/6/docs/api/java/math/ BigInteger.html "يختلط =" noreferrer "> BigInteger .

لا، ليست هناك. مصممي جافا وسجل على قوله أنهم لا يحبون [إينتس] غير موقعة. استخدام BigInteger بدلا من ذلك. انظر هذا السؤال للحصول على مزيد من التفاصيل.

جافا 8 يوفر مجموعة من موقعة طويلة العمليات التي تسمح لك مباشرة علاج تلك المتغيرات كما موقعة طويلة, كنت هنا بعض شيوعا منها:

والإضافات ، الطرح ، الضرب هي نفسها بالنسبة الموقعة وغير يتوق.

واعتمادا على العمليات التي تنوي القيام بها، والنتيجة هي الى حد كبير نفس، وقعت أو غير موقعة. ومع ذلك، إلا إذا كنت تستخدم عمليات تافهة سوف ينتهي باستخدام BigInteger.

لمدة طويلة غير موقعة يمكنك استخدام UnsignedLong فئة من الجوافة المكتبة:

وهو يدعم مختلف العمليات:

  • بالإضافة إلى
  • ناقص
  • مرات
  • وزارة الدفاع
  • dividedBy

الشيء الذي يبدو في عداد المفقودين في هذه اللحظة هي البايت التحول المشغلين.إذا كنت بحاجة إلى تلك يمكنك استخدام BigInteger من جافا.

وجافا لايوجد أنواع غير موقعة. كما سبق ذكره، يريد incure النفقات العامة للBigInteger أو استخدام JNI الوصول إلى التعليمات البرمجية الأصلية.

وحزمة org.apache.axis.types لديها

والطبقة UnsignedLong.

وللمخضرم:

<dependency>
    <groupId>org.apache.axis</groupId>
    <artifactId>axis</artifactId>
    <version>1.4</version>
</dependency>

ويبدو أن في جاوة 8 يتم إضافة بعض الأساليب ل منذ فترة طويلة لعلاج جيدة القديم [توقيع] طويلة غير موقعة باسم. يبدو وكأنه الحل، ولكن قد يساعد في بعض الأحيان.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top