´ÒǹìâËÅ´â»Ãá¡ÃÁ RSS Reader ä´é·Õè¹Õè ...

|
|
|
Visitors - Session views |       
7 ¸Ñ¹ÇÒ¤Á ¾.È.2549 125 Users On-Line. |
|
Visitors - Page views |        1 ¡ØÁÀҾѹ¸ì ¾.È.2551 |
|
|
|
 |
|
¡ÒÃá»Å§àÅ¢°Ò¹ 10 à»ç¹àÅ¢°Ò¹ 16 áÅÐ àÅ¢°Ò¹ 2 à»ç¹àÅ¢°Ò¹ 16 (á¹Ç¤Ô´¢Í§ªèÒ§) |
Category »
VB 6/VB.Net â´Â : Webmaster àÁ×èÍ 23/11/2552 àÇÅÒ: 02:52 | (ÍèÒ¹ : 135348) | ÍÒÃÑÁÀº· ... ¹Ñºáµèà´ç¡ÁÒ ¼Áà»ç¹¤¹¤è͹¢éÒ§·Õè¨ÐàÃÕ¹à¡è§ ¾ÃéÍÁ·Ñé§ÁÕ¡Ô¨¡ÃÃÁ ¤×Í ¡ÒÃàÅè¹´¹µÃÕ (ÇèÒ§èÒÂæäÁèãªèà´ç¡àÃÕ¹ÍÂèÒ§à´ÕÂÇÅèФÃѺ) á¹è¹Í¹ÇèÒ»ÅÒ·ҧ ¤×Í ¡ÒÃàÍç¹ÊзéÒ¹ ... ¨Çº¨¹ÁÒ¶Ö§µÍ¹àµÃÕÂÁ¢Öé¹ Á.5 ¼Á¶Ö§ä´éà»ÅÕè¹á»Å§àÊé¹·Ò§¤ÃÑé§ÊÓ¤Ñ㹪ÕÇÔµ ´éÇ¡Òà "¶ÍÂËÅѧ" ÁÒ 1 »Õ à¾×èÍÂéÒÂÁÒàÃÕ¹ÊÒÂÍÒªÕ¾ ã¹ÊÒ¢ÒÍÔàÅç¡·Ã͹ԡÊì ... ¼ÁäÁèà¤Â¹Ö¡àÊÕÂã¨àÅÂÊÑ¡¤ÃÑé§ ã¹¡ÒõѴÊÔ¹ã¨ÂéÒÂÁÒàÃÕ¹ÊÒªèÒ§¢Í§¼Á ... à¾ÃÒФÇÒÁÃÙé·ÕèÃèÓàÃÕ¹ÁÒ Áѹä´é¶Ù¡¹ÓÁÒãªé·Ñé§ã¹Í´Õµ áÅÐ »Ñ¨¨ØºÑ¹ ... áÁéÇèÒ·Ñȹ¤µÔ áÅÐ ¤èÒ¹ÔÂÁ¢Í§¼Ù餹â´ÂÊèǹãËè ÁÑ¡¨ÐÁͧÇèÒ¤¹¨ºÊÒªèÒ§ÁÒ ÀÙÁÔ»ÑÒÁѹ¹éÍ äÁèà¡è§·ÄÉ®Õ à¾ÃÒÐÍÂÙèã¹ÊÒ»¯ÔºÑµÔ ãªé¡ÓÅѧáç§Ò¹à»ç¹ËÅÑ¡ ÁÒ¡¡ÇèÒãªéÊÁͧ áµè ³ Çѹ¹Õé ¼Áá¤èàÈÉàÊÕéÂÇ˹Ö觢ͧ¤¹·Õ診ªèÒ§ÁÒ ¡çä´é¾ÔÊÙ¨¹ìãËéàËç¹ â´Â·Õèá·º¨ÐäÁèµéͧÁÒºÃÃÂÒÂÍÐäáѹÁÒ¡ÁÒ¹ѡ ... º·¤ÇÒÁªØ´¹Õé¨Ö§¢Í¹ÓàʹÍá¹Ç¤Ô´ ·Ñ¡ÉСÒû¯ÔºÑµÔ à¾×è͹ÓÁÒãªé§Ò¹ (ä´é¨ÃÔ§) ... à¹×èͧ¨Ò¡ÊÒ¢ÒÍÔàÅç¡·Ã͹ԡÊìµéͧàÃÕ¹ÇÔªÒ᡹ËÅÑ¡ÍÂèÒ§àªè¹ ǧ¨Ã´Ô¨ÔµÍÅ (¨ÃÔ§ ËÃ×Í à·ç¨/µÃáÈÒʵÃì) ÇÔªÒäÁâ¤Ãâ»Ãà«Êà«ÍÃì (à¨ÒÐÅÖ¡à¢éÒÊÙè¡Ò÷ӧҹ¢Í§¤ÍÁ¾ÔÇàµÍÃì) ·Ñé§ 2 ÇÔªÒ¹Õé ¡çÅéǹáÅéÇáµè¹Ó·Ò§ãËé¼ÁÊÒÁÒöà¢Õ¹â»Ãá¡ÃÁÀÒÉÒ Assembly áÅÐ C ä´éÍÂèÒ§¤Åèͧá¤ÅèÇã¹àÇÅÒµèÍÁÒ ...
¡ÒÃá»Å§àÅ¢°Ò¹ 10 à»ç¹àÅ¢°Ò¹ 16 (Visual Basic 6)
- Dim X as String
- X = Hex$(127)
¨ºáÅéÇ ... 55555+ ...
ËÒ¡¡Ã³Õ·ÕèµÑÇá»ÅÀÒÉÒ ÁѹäÁèÁÕ¤ÓÊÑè§ (ËÃ×Ϳѧ¤ìªÑè¹) áÅéǨзÓÍÂèÒ§äôÕÅèÐ ... ·ÓäÁèä´é¤ÃѺ (¤èÐ) ... ¡ç¡´à¤Ã×èͧàÅ¢àÍÒ«Ô¤ÃѺ ã¹ Windows ÁѹÁÕÁÒãËé´ÙÍÂÙèáÅéÇ (àÎéÍ ... â§è¨Ñ§âÇé ¤¹¶ÒÁà¹ÕèÂ) ... 55555+ ... ã¤ÃµÍºÁÒẺ¹Õé ¡çÍÂèÒÍèÒ¹º·¤ÇÒÁ¢Í§¼ÁµèÍä»àŹèФÃѺ ... ¡ÒÃá¡é»ÑËÒ¡çÁÕá¹Ç¤Ô´áºº¡ÒÃá»Å§àÅ¢°Ò¹ 10 ä»à»ç¹àÅ¢°Ò¹ 2 Âѧ䧡çÂѧ§Ñé¹àŤÃѺ ... ¾Õè¹éͧ ... â´Â¤Ô´áºº¡ÒÃËÒÃÊÑé¹ ... (¤ÅÔê¡·Õè¹Õè ... à¾×èÍÍèÒ¹ÃÒÂÅÐàÍÕ´)
- ãËé°Ò¹ 10 à»ç¹µÑǵÑé§ áÅéÇãªéàÅ¢°Ò¹·Õèµéͧ¡ÒÃà»ç¹µÑÇËÒà (àªè¹ 2 ËÃ×Í 16)
¡ÒÃËÒÃÁÕ 2 Ẻ
- ¡ÒÃËÒÃàÍÒàÈÉ (MOD) ¼ÅÅѾ¸ì¨ÐÍÍ¡ÁÒà»ç¹¤ÓµÍº
- ¡ÒÃËÒõѴàÈÉ (Div) ä»àÃ×èÍÂæ ¨¹¡ÇèҨзÓãËé¼ÅÅѾ¸ìÊØ´·éÒÂà»ç¹ 0
àÅ¢°Ò¹ÊÔº
|
àÅ¢°Ò¹Êͧ
|
àÅ¢°Ò¹ÊԺˡ
|
0
|
0000
|
0
|
1
|
0001
|
1
|
2
|
0010
|
2
|
3
|
0011
|
3
|
4
|
0100
|
4
|
5
|
0101
|
5
|
6
|
0110
|
6
|
7
|
0111
|
7
|
8
|
1000
|
8
|
9
|
1001
|
9
|
10
|
1010
|
A
|
11
|
1011
|
B
|
12
|
1100
|
C
|
13
|
1101
|
D
|
14
|
1110
|
E
|
15
|
1111
|
F
|
à¹×èͧ¨Ò¡µÑé§áµè¤èÒ 10 - 15 (°Ò¹ 16) ÁѹÁÕµÑÇàÅ¢ (Digit) ¢¹Ò´ 2 ËÅÑ¡ ¨Ö§äÁèàËÁÒÐÊÁ㹡ÒÃãªé§Ò¹ ... à¢Ò (¼Ùé·Õè¤Ô´) ¨Ö§ãªéµÑÇÍÑ¡¢ÃÐ (Character) A - F á·¹¨Ó¹Ç¹´Ñ§¡ÅèÒÇ·ÕèÇèÒÁÒ¤ÃѺ ... ¾Õè¹éͧ
àÅ¢°Ò¹ÁËÑȨÃÃÂì ... àÅ¢°Ò¹ã´æ¨ÐÁÕ¤èÒµèÓÊØ´ = 0 áÅШÐÁÕ¤èÒÊÙ§ÊØ´à·èҡѺ°Ò¹¹Ñ鹿 - 1 àÊÁÍ àªè¹
- àÅ¢°Ò¹ 10 ¨ÐÁÕ¤èÒ 9 à»ç¹¤èÒÊÙ§ÊØ´ (10 - 1 = 9)
- àÅ¢°Ò¹ 2 ¨ÐÁÕ¤èÒ 1 à»ç¹¤èÒÊÙ§ÊØ´ (2 - 1 = 1)
- àÅ¢°Ò¹ 8 ¨ÐÁÕ¤èÒ 7 à»ç¹¤èÒÊÙ§ÊØ´ (8 - 1 = 7)
- àÅ¢°Ò¹ 16 ¨ÐÁÕ¤èÒ 15 à»ç¹¤èÒÊÙ§ÊØ´ (16 - 1 = 15)
à¡ÕèÂÇ¢éͧÍÐäà ¡ç¤Ô´æàͧ¡Ñ¹ºéÒ§à¶ÍйèФÃѺ ... 55555+
¿Ñ§¤ìªÑè¹ ËÃ×Í â»Ãá¡ÃÁÂèÍÂ㹡ÒÃá»Å§àÅ¢°Ò¹ 10 à»ç¹°Ò¹ 16 ´éÇÂÇÔ¸Õ¡ÒÃËÒÃÊÑé¹
' ==============================================================
Function Decimal2HexaDecimal(Dec As Long) As String
' ==============================================================
Dim Hex As String
' à§×è͹ä¢ÊØ´·éÒ ·Ó¨¹¡ÇèÒ Dec = 0 ¡çãË騺¡Ãкǹ¡Òà (True) ÍÍ¡¨Ò¡Ç§Ãͺ Do ... While
Do While (Dec > 0)
' Mod ´éÇÂÍÐäà ¡ç¨Ðä´é¤èÒÊÙ§ÊØ´ (·Õèà»ç¹ä»ä´é) ¢Í§µÑÇ Mod ź´éÇ 1 àÊÁÍ
' ´Ñ§¹Ñé¹àÁ×èÍàÍÒ 16 (°Ò¹ 10) ÁÒ Mod ·ÓãËé¤èÒÊÙ§ÊØ´·Õèä´é (16 - 1) = 15 ¹Ñè¹àͧ
' à§×è͹ä¢ã¹¡Òôѡ¤èÒµÑé§áµè 10 áµèäÁèà¡Ô¹ 15 à¾ÃÒÐ 10 á·¹¤èÒ´éÇ A (°Ò¹ 16)
' 11 = B (°Ò¹ 16) áÅÐä»àÃ×èÍÂæ¨¹ 15 = F (°Ò¹ 16)
Select Case (Dec Mod 16)
Case 10
Hex = "A" & Hex
Case 11
Hex = "B" & Hex
Case 12
Hex = "C" & Hex
Case 13
Hex = "D" & Hex
Case 14
Hex = "E" & Hex
Case 15
Hex = "F" & Hex
' µÑé§áµè 0 - 9 ÁÒ»ÃÐÁÇżŷÕèµÃ§¹Õé¤ÃѺ ... (ÃѺÃͧ¡Òà Mod ´éÇ 16 ÂÑ§ä§æ Áѹ¡çäÁèÁÕ¤èÒà¡Ô¹ 15 ä»ä´éËÃÍ¡)
' Êѧࡵ´éǤÃѺ ·ÓäÁ¼ÁàÍÒà§×è͹䢤èÒÃÐËÇèÒ§ 0 - 9 ÁÒÇÒ§äÇéã¹ Case Else .. (ÁѹäÁèÁÕ¤èÒÍ×è¹ÍÕ¡áÅéÇàËÃÍ).
Case Else
' à¡çº¤èҤӵͺ¢Í§¡ÒÃËÒÃàÍÒàÈÉ (MOD) ... àÃÕ§ÅӴѺãËé¶Ù¡µéͧ´éǹèФÃѺ
Hex = (Dec Mod 16) & Hex
End Select
' ËÒõѴàÈÉ (Div) ¨¹¡ÇèÒ¨Ðä´é 0 ... à¾×èÍãªéà»ç¹à§×è͹ä¢ã¹¡ÒÃǹÃͺ Do ... While
Dec = Dec \ 16
Loop
' Ê觤èҤ׹¡ÅѺã¹áºº String à¾ÃÒÐàÅ¢°Ò¹ 16 ÁѹÁÕµÑÇÍÑ¡¢ÃÐ A - F
Decimal2HexaDecimal = Hex
End Function
|
àËç¹á¹Ç¤Ô´áºººéÒ¹æËÃ×ÍÂѧ¤ÃѺ äÁèÇèҤس¨Ðá»Å§àÅ¢°Ò¹ 10 ä»à»ç¹àÅ¢°Ò¹ã´æ ¡ç¨Ðãªé Algorithm ËÅÑ¡æàËÁ×͹¡Ñ¹ËÁ´àÅ ... ¹ÕèáËÅФÃѺẺ©ºÑºªèÒ§ (ËÑÇÁѹ) ¢Í§¼Á ... à¾ÃÒмÁäÁèä´éÍéÒ§ÍÔ§Êٵà ¡Òá¡ÓÅѧ ËÃ×ÍãªéÊÁ¡ÒÃã´æà¢éÒÁÒà¡ÕèÂÇ¢éͧ áµèá¡é»ÑËÒ⨷Âì¢é͹Õéä´é´éǤÇÒÁÃÙéàÃ×èͧ¡ÒÃËÒÃÊÑé¹ (ã¹ÃдѺ»ÃжÁ) ·Õ¹ÕéÃÙéËÃ×ÍÂѧÅèÐÇèÒàÃÒàÃÕ¹¾×é¹°Ò¹¡Ñ¹ÁÒ·ÓäÁ ... àÃÕ¹ÁÒà¾×èÍ»ÃÐÂØ¡µìãªéãËéà»ç¹ä§ÅèФÃѺ ... Âѧæ¤ÃѺÂѧäÁèËÁ´ ÂѧÁÕÍÕ¡ àÍҡѹãËéªÑ´æÂÔè§¡ÇèÒ¹Õé ÇèÒá¹Ç¤Ô´ºéÒ¹æ¢Í§ªèÒ§ÍÔàÅç¡·Ã͹ԡÊ줹˹Öè§ ¨Ðá»Å§àÅ¢°Ò¹ 2 ãËé¡ÅÒÂà»ç¹àÅ¢°Ò¹ 16 ä´éÍÂèÒ§äà ...
 Design Time
 Run Time
¨Ò¡µÒÃÒ§´éÒ¹º¹ ... ãËéÊѧࡵ¹èФÃѺÇèÒ àÅ¢°Ò¹ 16 ¹Ñé¹ àÃÒÊÒÁÒö᷹·ÕèÁѹ´éÇÂàÅ¢ Binary (°Ò¹ 2) ¨Ó¹Ç¹¢¹Ò´ 4 ºÔµ
Çèҡѹ§èÒÂæ àÅ¢ Binary ¨Ó¹Ç¹¢¹Ò´ 4 ºÔµ ÊÒÁÒö᷹àÅ¢°Ò¹ 16 ä´é¤Ãº¾Í´ÕàÅ ...
- 1 x 23 + 1 x 22 + 1 x 21 + 1 x 20 ... ¹Ô¾¨¹ìÍѹ¹ÕéàËç¹·Õµéͧä»ËҢش¤Øé¡ѹàÍÒàͧ¹èФÃѺ à¾ÃÒмÁ¨Ð¡ÅèÒǶ֧¡ÒùÓàÅ¢ Binary 4 ºÔµ ÁÒá»Å§à»ç¹°Ò¹ 16
- 0 0 0 0 = 0
- 0 0 0 1 = 1
- 0 0 1 0 = 2
- 0 1 0 0 = 4
- ä»àÃ×èÍ ...
- 1 1 1 0 = E (ËÃ×Í 14 °Ò¹ 10)
- 1 1 1 1 = F (ËÃ×Í 15 °Ò¹ 10)
àÁ×èͤԴä´é´Ñ§¹ÕéáÅéÇ ... ¼Á¨Ð¨Ñ´¡ÅØèÁàÅ¢ Binary (°Ò¹ 2) ÍÍ¡à»ç¹ªØ´æÅÐ 4 ºÔµ â´ÂãËé ¹Ñº¨Ò¡¢ÇÒ仫éÒ (ǧÃͺ For) ... áµèÇÔ¸Õ¡Òà ÍèÒ¹¤èÒµÓá˹觢ͧºÔµ«éÒÂÁ×ÍÊØ´ ¢Í§·Ø¡æªØ´ ¼Á¨Ðãªé¡Òà ÍèÒ¹¤èÒµÓá˹觨ҡ«éÒÂ仢ÇÒá·¹ (à§×èÍ¹ä¢ IF à»ç¹à·ç¨ ËÃ×Í Else ¹Ñè¹áËÅÐ)
àªè¹ àÅ¢ 257 (°Ò¹ 10) ¨Ð¡ÃШÒÂàÅ¢ Binary ä´é¤×Í 1 0 0 0 0 0 0 0 1
- 1 0 0 0 0 0 0 0 1 ... ¡ÒÃáºè§ªØ´àÅ¢ Binary ªØ´ÅÐ 4 ºÔµ
- 1 2 3 4 5 6 7 8 9 ... àÇÅҤӹdzËÒµÓá˹觢ͧºÔµ«éÒÂÁ×ÍÊØ´ ã¹áµèÅЪش ¼Á¨Ð¾Ô¨ÒóÒËÅÑ¡ 6 áÅÐ ËÅÑ¡ 2 (¡ÒÃÍèÒ¹µÓá˹觨ҡ«éÒÂ仢ÇÒ)
Åͧ´Ù¨Ò¡â¤é´´éÒ¹ÅèÒ§»ÃСͺ áÅÐãªé¤èÒ 257 (°Ò¹ 10) à»ç¹¤èÒ·´Êͺ
- Ãͺ·Õè 1 ¤ÓÊÑè§ For Count = Len(BinaryBase) To 1 Step -4 ... ·ÓãËé Count ÁÕ¤èÒà·èҡѺ 9 (¤ÇÒÁÂÒǢͧ¨Ó¹Ç¹ºÔµ ËÃ×Í Len(BinaryBase))
- ·ÓãËé Bit = Mid$(BinaryBase, Count - 3, 4) ËÃ×Í Mid$("100000001", 9 - 3 = 6, 4) = 0001 (ºÔµ 0 ÊÕá´§ ¤×͵Óá˹觷Õè¹Ñº¨Ò¡·Ò§«éÒÂÁ×ÍÁÒ 6 µÓáË¹è§ ... ¨Ò¡¹Ñé¹ãËé¹ÑºµèÍä»·Ò§¢ÇÒÍÕ¡ 4 ºÔµ
- Ãͺ·Õè 2 ¤ÓÊÑè§ For Count = Len(BinaryBase) To 1 Step -4 ... ·ÓãËé Count Å´¤èÒŧ 4 (Step -4) ¨Ö§ÁÕ¤èÒà·èҡѺ 9 - 4 = 5
- ·ÓãËé Bit = Mid$(BinaryBase, Count - 3, 4) ËÃ×Í Mid$("100000000", 5 - 3 = 2, 4) = 0000 (ºÔµ 0 ÊÕá´§ ¤×͵Óá˹觷Õè¹Ñº¨Ò¡·Ò§«éÒÂÁ×ÍÁÒ 2 µÓáË¹è§ ... ¨Ò¡¹Ñé¹ãËé¹ÑºµèÍä»·Ò§¢ÇÒÍÕ¡ 4 ºÔµ
- 1 ... ¡Ã³Õ¢Í§ªØ´ÊØ´·éÒ ËÒ¡ÁÕºÔµäÁè¤Ãº 4 ºÔµ ... ãªéÇÔ¸Õ¡ÒÃà¾ÔèÁºÔµ 0 à¢éÒä»ãËé¤Ãº (à§×èÍ¹ä¢ IF à»ç¹¨ÃÔ§)
àªè¹ ...
- »ÃѺ¢¹Ò´ºÔµãËé¤Ãº 4 ºÔµ â´ÂàÍÒºÔµÁÒàÃÕ§¡Ñ¹ áÅéǹѺÁÒ¨Ò¡·Ò§¢ÇҤ׹¡ÅѺÁÒ 4 µÑÇ ...
- "0000" & "1" ... »¡µÔ¡çä´é¡ÒÃàÃÕ§ºÔµ ´Ñ§¹Õé "00001"
- ¾Íãªé Right("0000" & "1", 4) ... à¾×èÍãËé¹Ñº¨Ò¡·Ò§¢ÇÒä» 4 ËÅÑ¡ ... ¤ÓµÍº ¤×Í "0001"
ÊÔè§µèÒ§æ·Õèä´éàËç¹·Ò§´éÒ¹º¹ ¤×Í ¡ÒäԴÍ͡ẺàÍÒäÇé áÅéÇÅͧ·´Êͺ¤èÒŧ㹡ÃдÒÉ ¼ÊÁ¼ÊÒ¹¡Ñº¡ÒÃà¢Õ¹¼Ñ§§Ò¹ÍÍ¡ÁÒ´Ù ... ËÒ¡äÁè·ÓÍÂèÒ§¹Õé ¡çÂÒ¡·Õè¨Ðà¢Õ¹â»Ãá¡ÃÁÍÍ¡ÁÒà¾×èÍãËéÁÕ¼ÅÅѾ¸ì·Õè¶Ù¡µéͧä´é ... ¢ÍÂéÓÍÕ¡¤ÃÑé§ÊÓËÃѺ¼Ùé·Õè¤Ô´¨ÐàÍÒ´Õ·Ò§´éÒ¹¹Õé ... ¡ÒÃá»Å§àÅ¢°Ò¹ 2 ä»à»ç¹àÅ¢°Ò¹ 16 ... ´éÇÂÇÔ¸Õ¡ÒùѺ¨Ó¹Ç¹ºÔµ ¤ÃÑé§ÅÐ 4 ºÔµ
' ==============================================================
' á»Å§àÅ¢°Ò¹ 2 à»ç¹àÅ¢°Ò¹ 16 ... â´Â·Ó¡ÒäԴàÅ¢°Ò¹ 2 ¤ÃÒÇÅÐ 4 ºÔµ
Function Binary2HexaDecimal(BinaryBase As String) As String
' ==============================================================
Dim Count As Integer ' ¹Ñº¨Ó¹Ç¹ºÔµ¤ÃÒÇÅÐ 4 ºÔµ
Dim Bit As String ' ¹Óä»á»Å§à»ç¹àÅ¢°Ò¹ 16
Dim Hex As String ' à¡çº¤èÒ·Õèá»Å§à»ç¹àÅ¢°Ò¹ 16 à¾×è͹ÓÁÒàÇÕ¹ãªé§Ò¹
' àÅ×Í¡ÁÒà»ç¹ªØ´æÅÐ 4 ºÔµ µéͧ¹Ñº¨Ò¡·Ò§¢ÇÒÁ×ÍÁÒ¹èФÃѺ (LSB)
' ã¹°Ò¹ 10 ¡çàËÁ×͹äÅè¨Ò¡ËÅÑ¡¾Ñ¹ ËÅÑ¡ÃéÍ ËÅÑ¡ÊÔº ËÅѡ˹èÇ (µÒÁ»¡µÔªÕÇÔµ·Õè¤Øé¹à¤Â¡ÑºµÑÇàÅ¢)
' Count ¨ÐÅ´¤èÒŧ·ÕÅÐ 4 ¤ÃѺ ... ¹Ñº¨Ó¹Ç¹¤ÇÒÁÂÒǢͧ¨Ó¹Ç¹ºÔµ áÅéÇÅ´¤èÒŧ·ÕÅÐ 4 ºÔµ
For Count = Len(BinaryBase) To 1 Step -4
' ¡Ã³Õº×µ·Ò§«éÒÂÁ×ÍÁѹÁÕ¢¹Ò´äÁè¤Ãº 4 ºÔµ ... ÍÒÈÑ¡ÒÃàµÔÁ 0 à¢éÒ仫פÃѺ
' àªè¹ 1 0000 0001 ...
' ¡ÒÃǹÃͺ¤ÃÑé§ÊØ´·éÒ ¨Ð·ÓãËé¤èÒ 1 «Öè§à»ç¹ºÔµ·ÕèÍÂÙè«éÒÂÁ×ÍÊØ´ (MSB) àËÅ×͵ÑÇà´ÕÂÇâ´´æ
' 㹡óշÕèäÁèä´é¤èҨӹǹºÔµà»ç¹ 4, 8, 12, 16, 20, ... ä»àÃ×èÍÂæ (¡ÒÃËÒôéÇ 4 ŧµÑǾʹÕ)
If Count < 4 Then
' ===========================================================
' »ÃѺ¢¹Ò´ºÔµãËé¤Ãº 4 ºÔµ â´ÂàÍÒºÔµÁÒàÃÕ§¡Ñ¹ áÅéǹѺÁÒ¨Ò¡·Ò§¢ÇҤ׹¡ÅѺÁÒ 4 µÑÇ ...
' "0000" & "1" ... »¡µÔ¡çä´é¡ÒÃàÃÕ§ºÔµ ´Ñ§¹Õé "00001"
' ¾Íãªé Right("0000" & "1", 4) ... ¤ÓµÍº ¤×Í "0001"
Bit = Right$("0000" & Mid$(BinaryBase, 1, Count), 4)
' ===========================================================
Else
' ===========================================================
' ¤èÍÂæäÅèËÒÇÔ¸Õ¡ÒäԴ¹èФÃѺ ...
' ÊÁÁصÔËÒ¤èÒ 257 (°Ò¹ 10) ËÃ×Í 1 0 0 0 0 0 0 0 1 (°Ò¹ 2)
' ·ÓãËéä´é¤ÇÒÁÂÒÇ·Ñé§ËÁ´ 9 ºÔµ (Count = 9) ... ãËéźÍÍ¡´éÇ 3 à¾ÃÒÐ ...
' 1 2 3 4 5 6 7 8 9 (¹ÑºËÅÑ¡)
' 1 0 0 0 0 0 0 0 1
' -----------x------- ... ¼Áµéͧ¡ÒõѴºÔµ¢ÇÒÁ×Í 3 ºÔµÍÍ¡ ¨Ö§·ÓãËéźáÅéÇä´éµÓáË¹è§ x ¾Í´Õ
' ´Ñ§¹Ñé¹ÃͺááàÃÔèÁ 9 - 3 = 6 ... ãËéÅͧ¹Ñº´Ù¤ÃѺÇèÒ¨ÐàÃÔèÁÍèÒ¹¨Ò¡ËÅÑ¡·Õè 6 ¾Í´Õ ¹Ñº¨Ò¡«éÒÂÁ×͹èФÃѺ
' ¨Ø´¹ÕéÊÓ¤ÑÁÒ¡¤ÃѺ ... ¢ÍãËéäÅè¡Ò÷ӧҹ´éÇ¡Òá´ F8 ·´Êͺ´Ù
' àÁ×èÍãªé Mid$(¢éͤÇÒÁ, àÃÔèÁµé¹¨Ò¡ËÅÑ¡·Õè, ¹Ñºä» 4 µÑÇ) ...
' Áѹ¨ÐÁըӹǹºÔµà¢éÒÁÒà·èÒäà ¡çäÁèÁÕ»ÑËҡѺá¹Ç¤Ô´¢Í§Í´ÕµªèÒ§ (ËÑÇÁѹ) Ẻ¼Á ...
Bit = Mid$(BinaryBase, Count - 3, 4)
' ===========================================================
End If
' ä´éÁҤú 4 ºÔµáÅéÇ¡ç·Ó¡ÒÃà»ÃÕºà·Õº¤èÒ
Select Case Bit
Case "0000"
Hex = "0"
Case "0001"
Hex = "1"
Case "0010"
Hex = "2"
Case "0011"
Hex = "3"
Case "0100"
Hex = "4"
Case "0101"
Hex = "5"
Case "0110"
Hex = "6"
Case "0111"
Hex = "7"
Case "1000"
Hex = "8"
Case "1001"
Hex = "9"
Case "1010"
Hex = "A"
Case "1011"
Hex = "B"
Case "1100"
Hex = "C"
Case "1101"
Hex = "D"
Case "1110"
Hex = "E"
Case "1111"
Hex = "F"
End Select
' ¨Ñ´àÃÕ§¡ÒÃáÊ´§¼Å áÅÐ Ê觤èҤ׹¡ÅÑºä» (Ẻ String)
Binary2HexaDecimal = Hex & Binary2HexaDecimal
Next
End Function
ÇÔ¸Õ¡ÒÃ Debug Program
|
Conclusion: ¼ÁÂÍÁÃѺ ... â¤é´Áѹ´ÙÂÒ¡ ... â´Â੾ÒÐà§×èÍ¹ä¢ Bit = Mid$(BinaryBase, Count - 3, 4) ... ¡çà¾ÃÒмÁäÁèä´éà¢Õ¹ Flow Chart ÍÍ¡ÁÒãËé´Ù «Öè§¾Õè¹éͧµéͧ½Ö¡¤Ô´¾Ô¨ÒóҵÒÁä»´éǤÃѺ ÁѹÁÕÇÔ¸Õ¡ÒÃà¢Õ¹â¤é´ÍÍ¡ÁÒä´éËÅÒÂẺ ËÅÑ¡æ¡ç˹Õ仾鹵ÑÇÍÂèÒ§ (¢Í§¨ÃÔ§) ·Õè·ÓäÇéãËé´ÙËÃÍ¡¤ÃѺ à¾Õ§áµè¼ÁÃǺÃÑ´¤ÓÊÑè§ãËéä´éÊÒÃÐÊÓ¤Ñ â¨·Âì»ÃÐàÀ·¹Õé¼ÁÁÕàÍÒäÇéÊ͹¾Ç¡ÃдѺ½Ö¡ËÑ´ (Ê͹ã¹ËÅÑ¡ÊÙµÃẺ¾×鹿 ੾ÒÐá»Å§àÅ¢°Ò¹ä»ÁÒà¹Õè àÅ蹡ѹà»ç¹à·ÍÁÂѧä´éàÅÂ) ... Åͧ«ÔËÒ¡¤Ø³äÁèÍ͡Ẻŧº¹¡ÃдÒÉÁÒ«èСè͹ ¡çÂÒ¡·Õè¨Ðà¢Õ¹â¤é´ÍÍ¡ÁÒä´é¤ÃѺ ... ·Õèá¹èæ¼Áãªéá¹Ç¤Ô´ áÅÐ à¢Õ¹¢Öé¹ÁÒ¨Ò¡ÀÒÉÒ C ÁÒ¡è͹ ¹Ñºä´é 10 ¡ÇèÒ»ÕáÅéÇ ¡ç·Ó§Ò¹ä´éàªè¹à´ÕÂǡѹ à¾ÃÒÐ Algorithm ¹Õéá·ºäÁèä´éà¡ÕèÂǡѺÀÒÉÒâ»Ãá¡ÃÁ·ÕèãªéàŤÃѺ ... ¾Õè¹éͧ ... »ÃÐà´ç¹·ÕèÍÂÒ¡ªÕéãËéàËç¹ÍÕ¡ÍÂèÒ§àÅÂÇèÒ ¼ÁäÁèä´é¹ÓËÅÑ¡¡ÒäԴ·Ò§µÑÇàÅ¢ÁÒà¡ÕèÂÇ¢éͧàÅ ... ÍÒÈÑ¡ÒÃãªé§Ò¹¨ÃÔ§Åéǹæ¤ÃѺ ... ¾Õè¹éͧ
|
|