PDA

View Full Version : سوال: hex to asci



meysamg_alone
پنج شنبه 31 اردیبهشت 1388, 00:51 صبح
سلام به همه
یه سوال !
چه جوری میشه کد hex رو به کد اسکی تبدیل کرد مثلا hex = 57
asc = 87

tdkhakpur
پنج شنبه 31 اردیبهشت 1388, 01:25 صبح
سلام:
شما سوالتون رو به این شکل بگید بهتره " عدد hex به decima.
ببینید اعداد اصلا داخل کدهای c++ فرقی باهم ندارند فقط کافی اونها رو داخل متغیر ها قرار بدید مثلا


int h= 0x10;
int d= 16;
d == h هست

ولی اگه درخواستتون چیز دیگه ای هست ارسال کنید قسمتمون بود پاسخ میدیم.
موفق باشید.

mehdi.mousavi
پنج شنبه 31 اردیبهشت 1388, 13:40 عصر
سلام به همه یه سوال ! چه جوری میشه کد hex رو به کد اسکی تبدیل کرد مثلا hex = 57
asc = 87

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



int x;
TCHAR buffer[] = _T("57");
_stscanf(buffer, _T("%x"), &x);
_tprintf(_T("%d"), x);

meysamg_alone
پنج شنبه 31 اردیبهشت 1388, 17:11 عصر
int x;
TCHAR buffer[] = _T("57");
_stscanf(buffer, _T("%x"), &x);
_tprintf(_T("%d"), x);
ببخشید اقا مهدی شاید بهتر بود من این سوال رو داخل vc win32 مطرح می کردم والا من نه _T رو دارم نه stscanf رو هیچکدومو پیدا نمکنه چه جوری باید define بشن ؟!:ناراحت:
من این کد شما رو نتونستم چک کنم میشه یه توضیع دیگه بدین یا کاملش کنین ؟!

meysamg_alone
پنج شنبه 31 اردیبهشت 1388, 17:12 عصر
این کد هکز "A8" که به اسکی میشه 168
:افسرده:

meysamg_alone
پنج شنبه 31 اردیبهشت 1388, 17:14 عصر
اگه امکان داره تبدیل هر دوشو بگین یعنی هگز به اسکی و اسکی به هگز

meysamg_alone
جمعه 01 خرداد 1388, 10:46 صبح
باورم نمیشه که این کارو نشه تویه c انجام داد :ناراحت:

Nima_NF
جمعه 01 خرداد 1388, 13:58 عصر
int x;
TCHAR buffer[] = _T("57");
_stscanf(buffer, _T("%x"), &x);
_tprintf(_T("%d"), x);ببخشید اقا مهدی شاید بهتر بود من این سوال رو داخل vc win32 مطرح می کردم والا من نه _T رو دارم نه stscanf رو هیچکدومو پیدا نمکنه چه جوری باید define بشن ؟!:ناراحت:
من این کد شما رو نتونستم چک کنم میشه یه توضیع دیگه بدین یا کاملش کنین ؟!
َچیزی که به شما پیشنهاد کردند معادل یونیکد توابع بود که در ++visual C هم وجود دارد فقط باید هدر فایل tchar.h را اضافه کنید.



#include <tchar.h>

توابعی مختلفی برای این کار هست:
sprintf
sscanf
printf
strtol
itoa
_itoa_s
برخی از آن ها جواب را در رشته کپی می کنند مثل sprintf، برخی از رشته می خوانند مثل sscanf و برخی در عدد می ریزند مثل strtol با تنظیم پایه در پارامتر سوم.

که همه این ها معادل یونیکد هم دارند، مثلا _stscanf که ذکر شد.

اکثر آن ها یک بخش تحت عنوان Format Specifications دارند که می توانید از MSDN (که بارها تاکید کردم!) استفاده کنید و مشاهده کنید سایر موارد چه هستند، مثلا اگر بنویسید x% برای شما hex چاپ می کند و اگر بنویسید d% نوع decimal عدد را ...

برخی از مثال های دیگر:
http://barnamenevis.org/forum/showthread.php?t=114469
http://barnamenevis.org/forum/showthread.php?t=98353

این توابع را جستجو کنید بارها این سوال پاسخ داده شده است.