Skip to main content
🟢 Beginner

هکس به تبدیل اعشاری -- 0x30، 0xFF و هر هکس به اعشاری

هر هکس را به شکل اعشاری فورا تبدیل کنید -- 0xFF = 255, 0xA = 10, 0x30 = 48. کنورتر رایگان هکس به شکل اعشاری را با تجزیه گام به گام امتحان کنید.

مبدل هکس به اعشاری -- نتایج فوری

از اين استفاده کنمبدل هکس به اعشاریبرای تبدیل هر مقدار هگزادسیمال به اعشاری بلافاصله. تبدیل های رایج:0xA = 10, 0x10=16, 0x64 = 100, 0xFF = 255، و0x30 = 48. فقط یک مقدار هکس بالا را وارد کنید و نتیجه اعشاری را با تجزیه گام به گام دریافت کنید -- بدون نیاز به ثبت نام.

درک سیستم عددی هگزادسیمال

هگزادسیمال (hex) یک سیستم عددی پایه 16 است که از 16 نماد متمایز استفاده می کند: اعداد 0 - 9 و حروف A - F (که در آن A = 10 ، B = 11 ، C = 12 ، D = 13 ، E = 14 ، F = 15). هگز به طور گسترده ای در محاسبات به عنوان یک راه مناسب برای انسان برای نشان دادن داده های باینری استفاده می شود ، زیرا هر 4 رقم باینری (بیت) دقیقاً با یک رقم هگز مطابقت دارد - که هگز را یک مخفف جمع برای باینری می کند.

هر موقعیت در یک عدد هکس نمایانگر توان 16 است:

موقعیت۱۶۳۱۶۲161160
ارزش۴۰۹۶256161

تبدیل هکس به اعشاری:هر عدد شش گانه را با مقدار جای آن (قدرت ۱۶) ضرب کنید و نتایج را جمع کنید.

مثال:2F4A16= 2x4096 + F(15) x256 + 4x16 + A(10) x1 = 8,192 + 3,840 + 64 + 10 =۱۰،۱۰۶

شماره های هکس به طور معمول با0xدر برنامه نویسی (به عنوان مثال0x2F4A) ، یا به دنبال آنhدر زبان مونتاژ (به عنوان مثال،2F4Ah), برای تمایز آنها از اعداد اعشاری.

مثال سریع: 0x30 به اعشاری

یکی از متداول ترین مقادیر هکس0x30. برای تبدیل شدن0x30 به اعشاری: 3 رو با 16 ضرب کن و 0 رو اضافه کن48. پس0x30 = 48به صورت اعشاری

چرا 0x30 اینقدر زیاد میاد؟ چون در کدگذاری ASCII0x30 کاراکتر "0" است.(رقم صفر). ارقام "0" - "9" به 0x30 - 0x39 (48 - 57 اعشاری) می پیوندند ، به همین دلیل است که برنامه نویسان هنگام تجزیه متن یا کار با کد های کاراکتر ، اغلب با این مقدار روبرو می شوند.

مرحله به مرحله: 0x30 -> اعشاری

مقادیر شش گانه مشترک -- مرجع تبدیل سریع

این ها ارزش های هکس هستند که برنامه نویسان و توسعه دهندگان اغلب به آن نگاه می کنند:

هیکساعشاریکاربرد رایج
0xA10اعشاری 10 -- ساده ترین مقدار حروف شش گانه (A=10)
0x0C12ورودی فرم ASCII؛ بازگشت حامل 0x0D است (13)
0x1016یک هکس "ده"; پایه هگزادسیمال
0x1F31حداکثر مقدار 5 بیتی؛ ماسک بیت برای 5 بیتی
0x3048ASCII '0' - کاراکتر صفر
0x4266ASCII "B"؛ همچنین 66 به صورت اعشاری (اغلب جستجو می شود)
0x4165ASCII "A" -- شروع حروف بزرگ
0x6197ASCII "a" -- شروع حروف کوچک
0x64۱۰۰اعشاری 100 -- برای بررسی درصد مفید است
0x7F127حداکثر ۷ بیتی / حداکثر ASCII
0x80128حداقل مقدار با بیت 7 تنظیم شده؛ -128 امضا شده
0xFF۲۵۵حداکثر مقدار بایت؛ کانال رنگی کامل (RGB)
0x100256۲۸؛ اولین شماره سه رقمی هکس
0x1F4۵۰۰خطای HTTP 500؛ نیمی از 0x3E8
0x3E8هزارهزار تا
0xFFFF۶۵۵۳۵حداکثر عدد صحیح بدون علامت 16 بیتی
0xFFFFFF۱۶۷۷۷۲۱۵حداکثر مقدار ۲۴ بیتی؛ حداکثر رنگ شش گانه CSS

تبدیل اعشاری به هگزادسیمال

تبدیل از اعشاری به شش اعشاری از همان روش تقسیم تکرار شده به عنوان تبدیل باینری استفاده می کند، اما تقسیم به 16 به جای 2.

روش:به طور مکرر با 16 تقسیم کنید و باقیمانده را در هر مرحله ثبت کنید. باقیمانده های 10 - 15 به عنوان A - F نوشته می شوند. باقیمانده ها را از پایین به بالا بخوانید.

مثال: 1500 را به هکس تبدیل کنید

از پايين به بالا بخون:5DC16

بررسی: 5x256 + D(13) x16 + C(12) x1 = 1,280 + 208 + 12 = 1,500

مثال: تبدیل 255 به هکس(بهترین مقدار یک بایت)

نتیجه:FF16-- به همین دلیل است که 255 به صورت0xFFدر کد و#FFFFFF(سفید) در رنگ های CSS از هر سه کانال در حداکثر (255, 255, 255) استفاده می کند.

يه نکته ي ذهني سريع:برای اعداد زیر 256 ، به بالاترین چند برابر 16 (اولین عدد شش گانه) و باقی مانده (دومین عدد شش گانه) تقسیم می شود. 180 = 11x16 + 4 = B416 200 = 12x16 + 8 = C816

کد های رنگ هکس: برنامه های کاربردی وب و طراحی

یکی از رایج ترین کاربردهای روزمره شش اعشاری، کد های رنگی CSS و وب است. رنگ ها به عنوان#RRGGBB، که در آن RR، GG و BB ارزش های هکس دو رقمی (00 - FF) برای کانال های قرمز، سبز و آبی به ترتیب هستند.

رنگ شش گانهR (دسمی)G (دسمی)B (تعداد اعشاری)توضیحات رنگ
#000000000سیاه (حداقل همه کانال ها)
#FFFFFF۲۵۵۲۵۵۲۵۵سفید (به حداکثر تمام کانال ها)
#FF0000۲۵۵00قرمز خالص
#00FF000۲۵۵0سبز خالص (سنگ)
#0000FF00۲۵۵آبی خالص
#FF5733۲۵۵8751قرمز نارنجی روشن
#4A90D974144۲۱۷آسمان آبی متوسط
#808080128128128خاکستری متوسط (۵۰٪ از هر کدام)

هر کانال (00 - FF) 256 سطح x 3 کانال = 16،777،216 رنگ ممکن (16.7 میلیون) را فراهم می کند.#RGBنماد (به عنوان مثال، #F5A) هر رقم را به دو رقم یکسان گسترش می دهد: #FF55AA - در CSS زمانی استفاده می شود که هر دو رقم هکس در یک جفت یکسان باشند.

CSS مدرن نیز پشتیبانی می کند#RRGGBBAA(8 رقم هکس) برای رنگ هایی با شفافیت (کانال آلفا) ، جایی که AA ناپایداری را از 00 (کاملاً شفاف) تا FF (کاملاً ناپایدار) تعریف می کند. مثال:#FF573380= قرمز نارنجی در 50٪ نوری (8016 = 12810 ~ 50٪).

هکس در برنامه نویسی و کامپیوتر

شش اعشاری در سراسر برنامه نویسی، مستندات سخت افزاری و علوم کامپیوتر ظاهر می شود:

آدرس حافظه:آدرس RAM و پردازنده در هکس بیان می شود. آدرس حافظه 64 بیتی ممکن است مانند0x7FFE0B4C3A20. از هکس استفاده می شود زیرا به طور فشرده ای نمایانگر باینری زیربنایی است، و 2 رقم هکس = دقیقاً 1 بایت - که عددی آدرس را بصری می کند.

کد ماشین و جداسازی:دستورالعمل های CPU به صورت هکس بایت کدگذاری شده اند. دستور x86MOV EAX, 0x42کامپایل به بایت های هکسB8 42 00 00 00. محققان امنیتی و برنامه نویسان سطح پایین برای درک یا مهندسی معکوس نرم افزار، Hex Dumps را می خوانند.

کدگذاری کاراکتر ASCII:ASCII کاراکترها را به اعداد 0 - 127 می پردازد. در هکس: "A" = 0x41 ، "a" = 0x61 ، فضا = 0x20 ، "0" = 0x30 . این الگوی سازگار است - حروف بزرگ از 0x41 شروع می شوند ، حروف کوچک از 0x61 (دقیقاً 0x20 = 32 تفاوت ، به همین دلیل XOR-ing یک حرف با 0x20 مورد خود را تغییر می دهد).

آدرس های IPv6:آدرس های ۱۲۸ بیتی IPv6 به صورت ۸ گروه از ۴ عدد هکس نوشته می شوند:2001:0DB8:AC10:FE01:0000:0000:0000:0001هر گروه 16 بیت را نشان می دهد (هر یک 4 هکس رقمی x 4 بیت). آدرس های IPv4 همچنین می توانند در هکس بیان شوند: 192.168.1.1 = 0xC0A80101.

کد خطا:کدهای توقف ویندوز ("صفحه آبی مرگ") هکس هستند: 0x0000007E، 0xC0000005. کدهای خطای یونیکس، کدهای وضعیت HTTP در بسته های شبکه و کدهای POST BIOS همگی از هکس استفاده می کنند. تشخیص الگوهای رایج هکس به رفع مشکلات سیستم کمک می کند.

باینری، اوکتال، اعشاری، هکس: مرجع کامل تبدیل

چهار سیستم عددی مورد استفاده در محاسبات و چگونگی ارتباط آنها:

اعشاریباینریاکتالهیکس
0000000
1000111
2001022
4010044
81000 دلار108
10۱۰۱۰12A
15۱۱۱۱17F
160001 00002010
320010 00004020
640100 0000۱۰۰40
1281000 000020080
۲۵۵1111 1111۳۷۷FF
2560001 0000 0000۴۰۰۱۰۰
۱۰۲۴0100 0000 00002000 دلار۴۰۰
۶۵۵۳۵1111 1111 1111 1111177777FFFF

میانبر برای تبدیل سریع:

محاسبات و نکات عملی جادوگری

چند تکنیک مفید برای کار با هکس در عمل:

اضافه کردن هکس:ستون به ستون را اضافه کنید، وقتی که مجموع به 16 برسد. مثال: 3A + 2F:

چک کردن قابلیت تقسیم در هکس:یک عدد شش گانه قابل تقسیم بر 16 است اگر آخرین رقم 0 باشد (همچنین تقسیم بر 10 در اعشاری). اگر آخرین رقم شش گانه جفت باشد (0,2,4,6,8,A,C,E) قابل تقسیم بر 2 است.

هکس در URL ها و کدگذاری:URL ها کاراکترهای ویژه را با استفاده از کدگذاری درصد رمزگذاری می کنند: یک فضای خالی می شود%20(0x20 = 32 = فضا در ASCII) علامت @ =%40(0x40 = 64 = '@' در ASCII). دانستن کد هکس ASCII به رمزگشایی URL های رمزگذاری شده کمک می کند.

خروجی تابع های هش:MD5 خروجی 128 بیتی (32 کاراکتر شش گانه) تولید می کند. SHA-256 خروجی 256 بیتی (64 کاراکتر شش گانه) تولید می کند. مثال هش SHA-256:a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3-- همیشه 64 کاراکتر هکس بدون توجه به اندازه ورودی. این چیزی است که شما می بینید زمانی که فایل های دانلود شده را با چک سوم مقایسه می کنید.

سوالات متداول

چطور ميشه هگزادسمال رو به دسامال تبديل کرد؟

هر عدد شش گانه را با 16 به توان موقعیت آن ضرب کنید (از 0 در سمت راست شروع می شود) و نتایج را جمع کنید. مثال: 1A316 = 1x256 + A(10) x16 + 3x1 = 256 + 160 + 3 = 419 . ماشین حساب ما این کار را بلافاصله برای هر مقدار شش گانه ای که وارد می کنید انجام می دهد.

چطور ميتونيم اعشاري رو به هگزادسيمال تبديل کنيم؟

به طور مکرر با 16 تقسیم کنید و باقیمانده را در هر مرحله ثبت کنید. باقیمانده های 10 - 15 به صورت A - F نشان داده می شوند. باقیمانده ها را از آخر به اول بخوانید. مثال: 255 ÷ 16 = 15 باقیمانده 15 (((F) ؛ 15 ÷ 16 = 0 باقیمانده 15 (((F) -> 255 اعشاری = FF هکس.

از اعداد هگزادسیمال برای چه کاری استفاده می شود؟

هکس در سراسر محاسبات مورد استفاده قرار می گیرد: آدرس های حافظه (0x7FF0E2A0) ، کد های رنگی وب (#FF5733) ، کد ماشین و داده های باینری ، آدرس های شبکه IPv6 ، خروجی های هش رمزنگاری (MD5 ، SHA-256) ، کدگذاری کاراکتر ASCII ، مجوزهای فایل یونیکس ، کد های خطای BIOS و هر زمینه ای که نمایش باینری فشرده مورد نیاز است.

چرا هکس از حرف های A تا F استفاده می کنه؟

هگزادسیمال پایه 16 است و نیاز به 16 نماد متمایز دارد. ارقام 0 تا 9 10 مقدار اول را پوشش می دهند. حروف A تا F به ترتیب 10 تا 15 را نشان می دهند. این کنوانسیون در محاسبات در دهه 1960 استاندارد شد. انتخاب حروف بزرگ و حروف کوچک (A-F vs a-f) با سیستم متفاوت است؛ هر دو معتبر هستند و نشان دهنده همان ارزش ها هستند.

0xA در اعشاری چه مقدار است؟

0xA به صورت اعشاری10عدد شش گانه A نشان دهنده مقدار 10 است. این ساده ترین تبدیل شش گانه به اعشاری است که شامل یک حرف است - A اولین حرف استفاده شده در هجده گانه است که نشان دهنده مقدار اعشاری بلافاصله بعد از 9 است.

0x10 به صورت اعشاری چه مقدار است؟

0x10 به صورت اعشاری16. برای تبدیل: 1x16 + 0x1 = 16. این منطقی است چون هگزادسیمال پایه 16 است، بنابراین "10" در هگز برابر با ارزش پایه است -- درست مثل "10" در اعشاری برابر با 10 است، و "10" در باینری برابر با 2 است.

0x64 در اعشار چه مقدار است؟

0x64 به صورت اعشاری۱۰۰. برای تبدیل: 6x16 + 4x1 = 96 + 4 = 100. این مقدار اغلب در برنامه نویسی برای محاسبات درصد، شمارنده های حلقه ای و به عنوان یک عدد اعشاری گرد که یک نمایش هکس به یاد ماندنی دارد، ظاهر می شود.

0x30 در اعشاریات چقدر است؟

0x30 به صورت اعشاری48برای تبدیل: ۳x۱۶ + ۰x۱ = ۴۸ + ۰ = ۴۸. مقدار ۰x۳۰ به ویژه در کدگذاری ASCII قابل توجه است - این کاراکتر "۰" (رقم صفر) را نشان می دهد. محدوده کامل کاراکترهای رقمی ASCII "۰" - "۹" شامل ۰x۳۰ - ۰x۳۹ (۴۸ - ۵۷ اعشاری) است.

0xFF در اعشاری چه مقدار است؟

0xFF = Fx16 + Fx1 = 15x16 + 15 = 240 + 15 = 255. این حداکثر مقدار یک بایت 8 بیتی (بدون امضا) است. این مقدار اغلب در برنامه نویسی برای ماسک های بیت، حداکثر ارزش کانال رنگی (RGB از 0x00 - 0xFF در هر کانال استفاده می کند) و هر جایی که یک مقدار حداکثر 8 بیتی مورد نیاز است، ظاهر می شود.

چطوری می تونم کد های رنگی رو بخونم؟

یک کد رنگ شش گانه مانند #4A90D9 به سه جفت تقسیم می شود: 4A (قرمز) ، 90 (سبز) ، D9 (آبی). هر یک را به اعشاری تبدیل کنید: 4A = 4x16 + 10 = 74; 90 = 9x16 + 0 = 144; D9 = 13x16 + 9 = 217. بنابراین #4A90D9 = rgb ((74, 144, 217) - یک آسمان آبی متوسط. هرچه مقدار بالاتر (نزدیک تر به FF / 255) باشد ، بیشتر از آن رنگ جزء.

تفاوت بین پیشوند 0x و پیشوند # در هکس چیست؟

هر دو عدد شش اعشاری را نشان می دهند ، اما در زمینه های مختلف. 0x (به عنوان مثال ، 0xFF ، 0x1A3) پیشوند استاندارد در زبان های برنامه نویسی (C ، C ++ ، جاوا ، پایتون ، جاوا اسکریپت و غیره) است. # به طور خاص برای رنگ های وب / CSS (#FF5733) استفاده می شود. برخی از زمینه ها از پسوند h (زبان اسمبلی) ، پیشوند $ (سیستم های قدیمی تر) یا بدون پیشوند (هنگامی که زمینه آن را روشن می کند) استفاده می کنند.

چطوری میتونی به سرعت بین باینری و هکس تبدیل کنی؟

تعداد باینری را به مجموعه ای از 4 بیت از راست به چپ گروه بندی کنید، سپس هر گروه را به یک عدد شش عددی تبدیل کنید. از آنجا که 4 بیت = دقیقاً یک عدد شش عددی است، نیازی به محاسبه نیست. مثال: باینری 1011 0100 11002 -> گروه به عنوان 101111111111111111 -> B1111411C -> B4C16. این به طور معکوس نیز کار می کند: هر عدد شش عددی به دقیقاً 4 رقم باینری گسترش می یابد.