این دستور bin_dec_hex است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.
برنامه:
نام
bin_dec_hex - نحوه استفاده از نمادهای باینری، اعشاری و هگزادسیمال.
شرح
اکثر مردم از سیستم شماره دهی استفاده می کنند. این سیستم از ده نماد برای نشان دادن استفاده می کند
شماره. وقتی این ده نماد تمام شد، دوباره شروع میشوند و مقدار را افزایش میدهند
موقعیت سمت چپ رقم 0 تنها در صورتی نشان داده می شود که تنها نماد در دنباله باشد.
یا اگر اولی نباشد.
اگر این برای شما مرموز به نظر می رسد، این همان چیزی است که من فقط در اعداد گفتم:
0
1
2
3
4
5
6
7
8
9
10
11
12
13
و الی آخر.
هر بار که رقم نه افزایش می یابد، به 0 و موقعیت قبل از (به
سمت چپ) افزایش می یابد (از 0 به 1). سپس عدد 9 به عنوان "00009" دیده می شود و زمانی که ما
باید 9 افزایش یابد، آن را صفر می کنیم و رقم را درست قبل از 9 افزایش می دهیم تا
عدد تبدیل به "00010" می شود. صفرهای ابتدایی را نمی نویسیم مگر اینکه تنها رقم باشد
(شماره 0). و البته، اگر صفرها در هر جایی در داخل یا انتهای a وجود داشته باشند، می نویسیم
عدد:
"00010" -> "0010" -> "010" -> "10"، اما نه "1".
این خیلی ابتدایی بود، شما قبلاً این را می دانستید. چرا گفتم؟ خب، کامپیوترها معمولا
اعداد با 10 رقم متفاوت را نشان ندهید. آنها فقط از دو نماد مختلف استفاده می کنند،
یعنی "0" و "1". قوانین یکسانی را برای این مجموعه ارقام اعمال کنید و باینری را دریافت خواهید کرد
سیستم شماره گذاری:
0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
و الی آخر.
اگر تعداد ردیف ها را بشمارید، خواهید دید که اینها دوباره 14 عدد مختلف هستند. در
اعداد یکسان و معنی مشابه در لیست اول هستند، ما فقط از یک متفاوت استفاده کردیم
نمایندگی. این بدان معنی است که شما باید بازنمایی استفاده شده یا همانگونه که هست را بشناسید
سیستم شماره گذاری یا پایه نامیده می شود. به طور معمول، اگر ما به صراحت آن را مشخص نکنیم
سیستم شماره گذاری استفاده می شود، ما به طور ضمنی از سیستم اعشاری استفاده می کنیم. اگر بخواهیم از هر دیگری استفاده کنیم
سیستم شماره گذاری، ما باید آن را روشن کنیم. چند روش به طور گسترده پذیرفته شده وجود دارد
این کار را انجام دهید. یکی از اشکال رایج نوشتن است 1010(2) به این معنی که شما یک عدد را در آن یادداشت کرده اید
نمایش باینری عدد ده است. اگر بدون مشخص کردن 1010 بنویسید
پایه، عدد با استفاده از پایه 10 هزار و ده تفسیر می شود.
در کتاب ها شکل دیگری رایج است. از زیرنویس ها (کاراکترهای کوچک، کم و بیش در) استفاده می کند
بین دو ردیف). در این صورت می توانید پرانتز را کنار بگذارید و آن را یادداشت کنید
عدد در نویسه های معمولی و به دنبال آن دو کوچک در پشت آن.
از آنجایی که سیستم شماره گذاری مورد استفاده پایه نیز نامیده می شود، ما در مورد عدد 1100 پایه 2 صحبت می کنیم.
عدد 12 پایه 10
در سیستم باینری، نوشتن صفرهای ابتدایی معمول است. اعداد نوشته شده است
بسته به زمینه در سری های چهار، هشت یا شانزده تایی.
هنگام صحبت با رایانه (...برنامه نویسی...) می توانیم از فرم باینری استفاده کنیم اما از اعداد
نمایندگی های بزرگی خواهد داشت. عدد 65'535 (اغلب در سیستم اعشاری a ' است
برای جدا کردن بلوک های سه رقمی برای خوانایی استفاده می شود) به عنوان یادداشت می شود
1111111111111111(2) که 16 برابر رقم 1 است. این کار دشوار و مستعد خطا است.
بنابراین، ما معمولاً از پایه دیگری به نام هگزادسیمال استفاده می کنیم. از 16 مختلف استفاده می کند
نمادها ابتدا از نمادهای سیستم اعشاری استفاده می شود، سپس به کار ادامه می دهیم
حروف الفبا ما 0، 1، 2، 3، 4، 5، 6، 7، 8، 9، A، B، C، D، E و F را دریافت می کنیم.
این سیستم به این دلیل انتخاب می شود که شکل هگزادسیمال را می توان به سیستم باینری تبدیل کرد
به راحتی (و برگشت).
سیستم دیگری نیز در حال استفاده است که به نام سیستم اکتال وجود دارد. این بیشتر در
روزهای قدیم، اما دیگر زیاد استفاده نمی شود. همانطور که ممکن است گاهی اوقات از آن استفاده کنید، شما
باید به آن عادت کرد و ما آن را در زیر نشان خواهیم داد. این داستان همان داستان دیگری است
بازنمایی، اما با هشت نماد مختلف.
دودویی (2)
هشتم (8)
دهدهی (10)
هگزادسیمال (16)
(2) (8) (10) (16)
00000 0 0 0
00001 1 1 1
00010 2 2 2
00011 3 3 3
00100 4 4 4
00101 5 5 5
00110 6 6 6
00111 7 7 7
01000 10 8 8
01001 11 9 9
01010 12 10 الف
01011 13 11 ب
01100 14 12 C
01101 15 13 D
01110 16 14 E
01111 17 15 F
10000 20 16 10
10001 21 17 11
10010 22 18 12
10011 23 19 13
10100 24 20 14
10101 25 21 15
اکثر کامپیوترهای مورد استفاده امروزه از بایت های هشت بیتی استفاده می کنند. این بدان معنی است که آنها ذخیره می کنند
هشت بیت در یک زمان می توانید ببینید که چرا سیستم اکتال برای آن کاربردی ترین نیست:
برای نمایش هشت بیت به سه رقم نیاز دارید و این بدان معناست که باید از آن استفاده کنید
یک رقم کامل برای نشان دادن تنها دو بیت (2+3+3=8). این اتلاف است. برای هگزادسیمال
ارقام، شما فقط به دو رقم نیاز دارید که به طور کامل استفاده شوند:
(2) (8) (10) (16)
11111111 377 255 FF
می توانید ببینید که چرا باینری و هگزادسیمال را می توان به سرعت تبدیل کرد: برای هر هگزادسیمال
دقیقاً چهار رقم باینری وجود دارد. یک عدد باینری بگیرید: از آن چهار رقم بگیرید
سمت راست و یک رقم هگزادسیمال از آن بسازید (جدول بالا را ببینید). این کار را تکرار کنید تا
دیگر رقمی وجود ندارد و برعکس: یک عدد هگزادسیمال بگیرید. برای هر
رقم، معادل باینری آن را بنویسید.
کامپیوترها (یا بهتر بگوییم تجزیه کننده هایی که روی آنها کار می کنند) تبدیل کردن a را با مشکل مواجه خواهند کرد
شماره مانند 1234(16). بنابراین اعداد هگزادسیمال با یک پیشوند مشخص می شوند. این
پیشوند بستگی به زبانی دارد که با آن می نویسید. برخی از پیشوندها "0x" برای C، "$" هستند.
برای پاسکال، "#" برای HTML. معمول است که فرض کنیم اگر یک عدد با صفر شروع شود، آن را
هشتی است مهم نیست چه چیزی استفاده می شود تا زمانی که بدانید چه چیزی است. من از "0x" استفاده خواهم کرد
برای هگزا دسیمال، "%" برای باینری و "0" برای اکتال. اعداد زیر همگی هستند
یکسان است، فقط نمایش آنها (پایه) متفاوت است: 021 0x11 17 %00010001
برای انجام محاسبات و تبدیل باید یک چیز دیگر را درک کنید. چیزی است
شما قبلاً می دانید اما شاید هنوز آن را "نمی بینید":
اگر 1234 را یادداشت کنید (بدون پیشوند، پس اعشاری است) در مورد شماره یک صحبت می کنید.
هزار و دویست و سی و چهار. به نوعی فرمول:
1 * 1000 = 1000
2 * 100 = 200
3 * 10 = 30
4 * 1 = 4
این را نیز می توان به صورت زیر نوشت:
1*10^3
2*10^2
3*10^1
4*10^0
که در آن ^ به معنای "به قدرت" است.
ما از پایه 10 و موقعیت های 0,1,2،3،XNUMX و XNUMX استفاده می کنیم. سمت راست ترین موقعیت باید
در 10 ضرب نشود. دومی از سمت راست باید یک بار در ضرب شود
10. سومی از سمت راست در 10 دو برابر می شود. این برای هر چیزی ادامه دارد
موقعیت ها استفاده می شود.
در تمام نمایش های دیگر هم همینطور است:
0x1234 خواهد بود
1*16^3
2*16^2
3*16^1
4*16^0
01234 خواهد بود
1*8^3
2*8^2
3*8^1
4*8^0
این مثال را نمی توان برای باینری انجام داد زیرا آن سیستم فقط از دو نماد استفاده می کند. یکی دیگر
مثال:
%1010 خواهد بود
1*2^3
0*2^2
1*2^1
0*2^0
تبدیل آن به شکل هگزادسیمال و ترجمه %1010 آسانتر بود
به 0xA. بعد از مدتی به آن عادت می کنید. نیازی به انجام هیچ محاسباتی نخواهید داشت
دیگر، اما فقط بدانید که 0xA به معنای 10 است.
برای تبدیل یک عدد اعشاری به هگزادسیمال می توانید از روش بعدی استفاده کنید. طول خواهد کشید
مدتی است تا بتوانید تخمین ها را انجام دهید، اما زمانی که از سیستم استفاده می کنید آسان تر خواهد بود
بیشتر ما بعداً به راه دیگری نگاه خواهیم کرد.
ابتدا باید بدانید که در سیستم دیگر از چند موقعیت استفاده می شود. برای انجام این کار، شما
باید حداکثر اعدادی که استفاده می کنید را بدانید. خوب، آنقدرها هم که به نظر می رسد سخت نیست. که در
اعشاری، حداکثر عددی که می توانید با دو رقم تشکیل دهید "99" است. حداکثر برای
سه: "999". شماره بعدی به یک موقعیت اضافی نیاز دارد. این ایده را معکوس کنید و خواهید کرد
ببینید که عدد را می توان با گرفتن 10^3 (10*10*10 برابر با 1000) منهای 1 یا 10^2 منهای پیدا کرد.
یک.
این را می توان برای هگزادسیمال نیز انجام داد:
16^4 = 0x10000 = 65536
16^3 = 0x1000 = 4096
16^2 = 0x100 = 256
16^1 = 0x10 = 16
اگر عددی کوچکتر از 65'536 باشد در چهار موقعیت قرار می گیرد. اگر عدد بزرگتر باشد
از 4'095، باید از موقعیت 4 استفاده کنید. چند بار می توانید 4'096 را از مقدار کم کنید
عدد بدون زیر صفر اولین رقمی است که می نویسید. این همیشه یک خواهد بود
عدد از 1 تا 15 (0x1 تا 0xF). همین کار را برای پوزیشن های دیگر انجام دهید.
بیایید با 41'029 امتحان کنیم. کوچکتر از 16^4 اما بزرگتر از 16^3-1 است. این به این معنی است که ما
باید از چهار موقعیت استفاده کرد. میتوانیم بدون رفتن، 16^3 را از 41'029 ده برابر کم کنیم
زیر صفر. بنابراین، سمت چپ ترین رقم "A" خواهد بود، بنابراین ما 0xA داریم؟؟؟؟. شماره است
کاهش به 41'029 - 10*4'096 = 41'029-40'960 = 69. 69 کوچکتر از 16^3 است اما بزرگتر نیست
از 16^2-1. بنابراین رقم دوم "0" است و اکنون 0xA0 داریم. 69 کوچکتر از
16^2 و بزرگتر از 16^1-1. ما می توانیم 16^1 (که فقط 16 است) را چهار برابر کم کنیم و
"4" را یادداشت کنید تا 0xA04؟ 64 را از 69 کم کنید (69 - 4*16) و رقم آخر 5 است -->
0xA045.
روش دیگر عدد را از سمت راست ایجاد می کند. بیایید دوباره 41'029 را امتحان کنیم. تقسیم بر
16 و از کسر (فقط اعداد صحیح) استفاده نکنید.
41'029 / 16 برابر 2'564 است با 5 باقیمانده. 5 را یادداشت کنید.
2'564 / 16 160 با باقیمانده 4 است. 4 را قبل از 5 بنویسید.
160 / 16 10 بدون باقی مانده است. 45 را با 0 آماده کنید.
10/16 زیر یک است. در اینجا خاتمه دهید و 0xA را اضافه کنید. با 0xA045 خاتمه دهید.
اینکه از کدام روش استفاده کنید به شما بستگی دارد. از هر چیزی که برای شما مفید است استفاده کنید. من از هر دو بدون استفاده می کنم
اینکه بتوانم بگویم در هر مورد از چه روشی استفاده می کنم، فکر می کنم فقط به تعداد آن بستگی دارد.
واقعیت این است که برخی از اعداد اغلب هنگام برنامه نویسی رخ می دهند. اگر عدد نزدیک به
یکی که من با آن آشنا هستم، سپس از روش اول استفاده خواهم کرد (مانند 32'770 که در 32'768 قرار می گیرد.
+ 2 و من فقط می دانم که 0x8000 + 0x2 = 0x8002 است.
برای باینری می توان از همین رویکرد استفاده کرد. پایه 2 است و نه 16 و تعداد
موقعیت ها به سرعت رشد خواهند کرد. استفاده از روش دوم این مزیت را دارد که می توانید ببینید
اگر باید صفر یا یک را بنویسید خیلی راحت: اگر باقیمانده را بر دو تقسیم کنید
اگر عددی زوج باشد صفر و اگر فرد باشد یک خواهد بود:
41029 / 2 = 20514 باقیمانده 1
20514 / 2 = 10257 باقیمانده 0
10257 / 2 = 5128 باقیمانده 1
5128 / 2 = 2564 باقیمانده 0
2564 / 2 = 1282 باقیمانده 0
1282 / 2 = 641 باقیمانده 0
641 / 2 = 320 باقیمانده 1
320 / 2 = 160 باقیمانده 0
160 / 2 = 80 باقیمانده 0
80 / 2 = 40 باقیمانده 0
40 / 2 = 20 باقیمانده 0
20 / 2 = 10 باقیمانده 0
10 / 2 = 5 باقیمانده 0
5 / 2 = 2 باقیمانده 1
2 / 2 = 1 باقیمانده 0
1/2 زیر 0 باقیمانده 1
نتایج را از راست به چپ بنویسید: %1010000001000101
گروه چهار:
٪ 1010000001000101
% 101000000100 0101
% 10100000 0100 0101
1010 0000 0100 0101 ٪
تبدیل به هگزادسیمال: 0xA045
%1010000001000101 را در سه گروه و به هشتی تبدیل کنید:
٪ 1010000001000101
% 1010000001000 101
% 1010000001 000 101
1010000 001 000 101 ٪
%1010 000 001 000 101
% 1 010 000 001 000 101
% 001 010 000 001 000 101
1 2 0 1 0 5 --> 0120105
بنابراین: %1010000001000101 = 0120105 = 0xA045 = 41029
و یا: 1010000001000101(2) = 120105(8) = A045(16) = 41029(10)
و یا: 1010000001000101(2) = 120105(8) = A045(16) = 41029
ابتدا در حین جمع کردن اعداد، آنها را به شکل اعشاری خود تبدیل کرده و سپس برمیگردانید
پس از انجام افزودن به شکل اصلی خود در می آیند. اگر از سیستم شماره گذاری دیگر استفاده می کنید
اغلب، خواهید دید که قادر خواهید بود محاسبات را مستقیماً در پایه آن انجام دهید
استفاده شده. در هر نمایشی همینطور است، اعداد سمت راست را اضافه کنید، عدد را یادداشت کنید
سمت راست ترین رقم از نتیجه، ارقام دیگر را به خاطر بسپارید و از آنها در بعدی استفاده کنید
گرد با رقم دوم از سمت راست و به همین ترتیب ادامه دهید:
%1010 + %0111 --> 10 + 7 --> 17 --> %00010001
خواهد شد
٪ 1010
% 0111 +
||||
|||+-- 0 + 1 را اضافه کنید، نتیجه 1 است، چیزی برای یادآوری نیست
||+--- 1 + 1 را اضافه کنید، نتیجه %10 است، 0 را یادداشت کنید و 1 را به خاطر بسپارید
|+---- اضافه کردن 0 + 1 + 1 (به خاطر سپرده شد)، نتیجه = 0، 1 را به خاطر بسپارید
+----- اضافه کردن 1 + 0 + 1 (به خاطر سپرده شد)، نتیجه = 0، 1 را به خاطر بسپارید
چیزی برای اضافه کردن، 1 به یاد آورد، نتیجه = 1
--------
%10001 نتیجه است، من دوست دارم آن را %00010001 بنویسم
برای مقادیر کم، سعی کنید محاسبات را خودتان انجام دهید، سپس آنها را با ماشین حساب بررسی کنید.
هرچه خودتان بیشتر محاسبات را انجام دهید، بیشتر متوجه می شوید که انجام نداده اید
اشتباهات. در پایان، به همان راحتی که آنها را انجام می دهید، محاسبات را در پایه های دیگر نیز انجام خواهید داد
اعشاری
هنگامی که اعداد بزرگتر می شوند، باید متوجه شوید که یک کامپیوتر a نامیده نمی شود
کامپیوتر فقط برای داشتن یک نام خوب بسیاری از ماشین حساب های مختلف موجود است، استفاده کنید
آنها برای یونیکس می توانید از "bc" که مخفف Binary Calculator است استفاده کنید. محاسبه نمی کند
فقط در اعشار، اما در همه پایهها میخواهید از آن استفاده کنید (از جمله باینری).
برای افرادی که در ویندوز هستند: ماشین حساب را راه اندازی کنید (شروع->برنامه ها->لوازم جانبی-> ماشین حساب) و
در صورت لزوم روی view->scientific کلیک کنید. شما اکنون یک ماشین حساب علمی دارید و می توانید محاسبه کنید
به صورت باینری یا هگزادسیمال
از bin_dec_hex به صورت آنلاین با استفاده از خدمات onworks.net استفاده کنید