فرمول اعداد هگزاد و اكتال

Majid

مدیر سایت
عضو کادر مدیریت
سلام

آقا فرمول بدست آوردن و تبديل اعداد دسيمال به هگزاد و اكتال چيه؟!

ممنونم

مجيد
 

saman_sweden

Active Member
Majid گفت:
سلام

آقا فرمول بدست آوردن و تبديل اعداد دسيمال به هگزاد و اكتال چيه؟!

ممنونم

مجيد
آقا اين مثال در نظر بگيريد
10101101 به دسيمال تبديل ميكنيم
کد:
1*2^7 + 0*2^6 + 1*2^5 + 0*2^4 + 1*2^3 + 1*2^2 + 0*2^1 + 1*2^0 =
  128 + 0 + 32 + 0 + 8 + 4 + 0 + 1 = 173
حالا برعكس
اينطوريه
کد:
0*2+1=1 , 1*2=2, 2*2+1=5, 5*2=10, 10*2+1=21, 21*2+1=43, 43*2=86, 86*2+1=173
کد:
Dec      Hex     Bint
      0              0            0000
      1              1            0001
      2              2            0010
      3              3            0011
      4              4            0100
      5              5            0101
      6              6            0110
      7              7            0111
      8              8            1000
      9              9            1001
     10              A            1010
     11              B            1011
     12              C            1100
     13              D            1101
     14              E            1110
     15              F            1111

تبديل بينر به هگزاد
مثلا اين عدد 10010101101 به 4 تا 4تا تقسيم ميكنيد كه ميشه
0100 1010 1101
4 A D
پس هگزاد مان شد AD4
حالا اينو 5C6 به بينر تبديل ميكنيم
ميشه
5 C 6
0101 1100 0110

تبديل هگزاد به دسيمال با فرمول زير است

dn·rn + ... + d2·r2 + d1·r1 + d0·r0
مثال
کد:
4ADH = 4·162 + A·161 + D·160 = 4·162 + 10·161 + 13·160 = 4·256 + 10·16 + 13·1 = 1197D

باز در خدمتم
 

saman_sweden

Active Member
Majid گفت:
سلام

آقا فرمول بدست آوردن و تبديل اعداد دسيمال به هگزاد و اكتال چيه؟!

ممنونم

مجيد
ببخشيد اكتال را از قلم انداختم
اكتال بر مبناي 8 است
مثلا AB23C ميشه
A=1010 ,
B= 1011 ,
2= 0010 ,
3= 0011 ,
C= 1100 است
پس ميشه
1010 1011 0010 0011
حالا برمبناي 16 بود به 8 تبديل ميكنيم خوب 3تا 3تايي
ميشه
100 001 101 011 پس عددمان شد 3514
 

Majid

مدیر سایت
عضو کادر مدیریت
سلام

سامان جان ممنونم
فعلا كه هنگ كردم :wink: يك ريستي بكنم خودمو ببينم ميتونم پروسس كنم يا نه :wink:

در هر صورت ممنونم بابت زحمتت

مجيد
 

saman_sweden

Active Member
Majid گفت:
سلام

سامان جان ممنونم
فعلا كه هنگ كردم :wink: يك ريستي بكنم خودمو ببينم ميتونم پروسس كنم يا نه :wink:

در هر صورت ممنونم بابت زحمتت

مجيد
اگر با ماشين حساب كاركنيد راهترهستيد خودش براتون همه را تبديل ميكنه
 

Majid

مدیر سایت
عضو کادر مدیریت
سلام

نه قصد داشتم يك برنامه بنويسم براي همين به فرمولش احتياج پيدا كردم

مرسي

مجيد
 

Babak Sateli

Active Member
با سلام به دوستان

اين كد اسمبلي است كه من تهيه كردم و همين كار را انجام مي دهد.

کد:
       CMP     EDX, 32        
       JBE     @A1
       XOR     EDX, EDX
@A1:    PUSH    ESI
       MOV     ESI, ESP
       SUB     ESP, 32
       PUSH    ECX           
       MOV     ECX, 16     
       CALL    CvtInt
       MOV     EDX, ESI
       POP     EAX            // result ptr
       CALL    System.@LStrFromPCharLen
       ADD     ESP, 32
       POP     ESI

موفق باشيد
 

جدیدترین ارسال ها

بالا