تبدیل دهدهی به باینری در جاوا

خب بنظرم برای شروع بحث مون اول باید یه سری اطلاعات یا مفهوم ها رو بدونین خالی از لطف نیست ..سیستمی که برای نمایش اعداد استفاده میشه، سیستم اعداد نامیده میشه. در الکترونیک دیجیتال از اعداد برای نمایش اطلاعات استفاده میشه. از این رو، یادگیری و درک انواع مختلف سیستم های اعداد خیلی مهمه تا بتونیم به راحتی اطلاعات رو در قالب اعداد نمایش و تفسیر کنیم.انواع مختلفی از سیستم های اعداد وجود داره و اساس این طبقه بندی، پایه یا ریشه سیستم اعداده. پایه یا ریشه سیستم اعداد، تعداد کل نمادهایی هستن که برای نشون دادن اعداد در سیستم اعداد استفاده میشه.انواع سیستم های اعدادبسته به پایه یا ریشه، سیستم های اعداد رو می تونیم به چهار نوع اصلی زیر طبقه بندی کنیم که بحث ما دوتای اول رو پوشش میده:سیستم اعداد اعشاری یا همون دهدهیسیستم اعداد باینریسیستم اعداد هشتگانهسیستم اعداد هگزادسیمالسیستم اعداد دهدهیسیستم اعدادی که دارای پایه یا ریشه 10 هست، یعنی در مجموع از 10 نماد برای نمایش اعداد سیستم استفاده میکنه، سیستم اعداد دهدهی نامیده میشه. نمادهای استفاده شده در این سیستم عبارتند از 0، 1، 2، 3، 4، 5، 6، 7، 8، 9. که داخل اون هر کدوم از این نمادها مقدار خاصی را به خودشون اختصاص میدن.سیستم اعداد باینریسیستم اعداد با پایه یا ریشه 2 را سیستم اعداد باینری میگن. سیستم اعداد باینری تنها از 2تا علامت (0 و 1) برای نمایش دادن اعداد باینری استفاده میکنه. همه ی دستگاه های دیجیتال مدرن مثل کامپیوترها، مدارهای ترکیبی، مدارهای ترتیبی و غیره از سیستم اعداد باینری برای کار استفاده میکنن.تبدیل عدد دهدهی به باینریخب با یه مثال پیش بریم بهتره -اگه عدد دهدهی 10 باشه چطوری باید به باینری تبدیلش کنیم:قدم 1: باقیمانده وقتی 10 به 2 تقسیم شه، صفر هست. بنابراین، arr[0] = 0.قدم 2: 10 رو به 2 تقسیم کنیم. عدد جدید 10/2 = 5 هست.قدم 3: وقتی 5 به 2 تقسیم شه باقیمانده 1 هست. بنابراین، arr[1] = 1.قدم 4: 5 رو به 2 تقسیم کنیم. عدد جدید 5/2 = 2 هست.قدم 5: باقیمانده وقتی 2 به 2 تقسیم شه صفر هست. بنابراین، arr[2] = 0.قدم 6: 2 رو به 2 تقسیم کنیم. عدد جدید 2/2 = 1 هست.قدم 7: باقیمانده وقتی 1 به 2 تقسیم شه 1 هست. بنابراین، arr[3] = 1.قدم 8: 1 رو به 2 تقسیم کنیم. عدد جدید 1/2 = 0 هست.قدم نهایی: از اونجایی که عدد مساوی 0 میشه. آرایه رو به ترتیب معکوس چاپ می کنیم. بنابراین عدد باینری معادل 1010 هست.public class DecimalToBinary { public static void main(String[] args) { // Test decToBinary method System.out.println(decToBinary(10)); } /** * Convert decimal number to binary * @param number obtain decimal number * @return binary of decimal number */ public static String decToBinary(int number) { int n = number; int[] binary = new int[32]; String s = &quot" int i = 0; while (n > 0) { binary[i++] = n % 2; n /= 2; } for (int j = binary.length - 1; j >= 0; j--) { s = s.concat(String.valueOf(binary[j])); } int ii = s.indexOf('1'); String ss = &quot" for (int j = ii; j <= s.length() - 1; j++) { ss = ss.concat(String.valueOf(s.charAt(j))); } return ss; } }یه نتیجه هم بگیریم بد نیست:بنابراین، در این نوشته یا پست در مورد سیستم اعداد و انواع سیستم های اعداد و کاربردهای آنها بحث کردیم. همه سیستم‌های دیجیتال فقط نیاز به پیاده‌سازی دو حالت دارن، یعنی کم (خاموش) و زیاد (روشن) که به راحتی با استفاده از سیستم اعداد باینری قابل پیاده‌سازی هستن. با این حال، داخل الکترونیک دیجیتال، سیستم اعداد باینری بیشترین استفاده را داره چون از حداقل تعداد ارقام استفاده میکنه. با این حال، سیستم اعداد هگزادسیمال هم در برخی از دستگاه های دیجیتال تخصصی مانند ریزپردازنده ها و میکروکنترلرها استفاده میشه که بحث کردن دربارش اینجا نمیگنجه.امیدوارم براتون مفید واقع شده باشه.آرزوی موفقیت ..