জাভা ভাষা unsigned
কীওয়ার্ডের মতো কিছু সরবরাহ করে না । একটি byte
ভাষা বৈশিষ্ট অনুযায়ী -128 এর মধ্যে একটি মান প্রতিনিধিত্ব করে - 127. উদাহরণস্বরূপ, যদি একটি byte
একটি কাস্ট করা হয় int
জাভা চিহ্ন ও ব্যবহার হিসাবে প্রথম বিট কী ব্যাখ্যা দেবেন চিহ্ন এক্সটেনশন ।
বলা হচ্ছে, কিছুই আপনাকে byte
8 বিট হিসাবে সহজভাবে দেখতে বাধা দেয় না এবং বিটগুলি 0 এবং 255 এর মধ্যে একটি মান হিসাবে ব্যাখ্যা করতে পারেন। কেবল মনে রাখবেন যে অন্য কারও পদ্ধতির উপর আপনার ব্যাখ্যা জোর করে দেওয়ার মতো কিছুই করার নেই। যদি কোনও পদ্ধতি কোনও গ্রহণ করে byte
, তবে সেই পদ্ধতিটি স্পষ্টভাবে অন্যথায় বর্ণিত না হলে −128 এবং 127 এর মধ্যে একটি মান গ্রহণ করে।
আপনার সুবিধার জন্য এখানে বেশ কয়েকটি দরকারী রূপান্তর / ম্যানিপুলেশন রয়েছে:
ইন / এ থেকে রূপান্তরগুলি
// From int to unsigned byte
int i = 200; // some value between 0 and 255
byte b = (byte) i; // 8 bits representing that value
// From unsigned byte to int
byte b = 123; // 8 bits representing a value between 0 and 255
int i = b & 0xFF; // an int representing the same value
(অথবা আপনি যদি জাভা 8+ এ থাকেন তবে ব্যবহার করুন Byte.toUnsignedInt
))
পার্সিং / ফর্ম্যাট করা
উপরোক্ত রূপান্তরগুলি ব্যবহার করার সর্বোত্তম উপায়:
// Parse an unsigned byte
byte b = (byte) Integer.parseInt("200");
// Print an unsigned byte
System.out.println("Value of my unsigned byte: " + (b & 0xFF));
Arithmetics
2-পরিপূরক উপস্থাপনা যোগ, বিয়োগ এবং গুণনের জন্য "কেবলমাত্র কাজ করে":
// two unsigned bytes
byte b1 = (byte) 200;
byte b2 = (byte) 15;
byte sum = (byte) (b1 + b2); // 215
byte diff = (byte) (b1 - b2); // 185
byte prod = (byte) (b2 * b2); // 225
বিভাগের জন্য অপারেটরগুলির ম্যানুয়াল রূপান্তর প্রয়োজন:
byte ratio = (byte) ((b1 & 0xFF) / (b2 & 0xFF));