arabmind
23-10-2006, 10:46 AM
انا اخوكم محمد
اريد طريقة مباشرة للتحويل من binary الى octal و العكس
و من hexidecimal الى binary و العكس
شكرا لكم
اريد طريقة مباشرة للتحويل من binary الى octal و العكس
و من hexidecimal الى binary و العكس
شكرا لكم
|
مشاهدة النسخة كاملة : اريد طريقة للتحويل بين انظمة العد المختلفة arabmind 23-10-2006, 10:46 AM انا اخوكم محمد اريد طريقة مباشرة للتحويل من binary الى octal و العكس و من hexidecimal الى binary و العكس شكرا لكم فهد النمر 14-11-2006, 04:05 PM السلام عليكم ورحمة الله وبركاته... أخ محمد بصراحة حاولت أن أجد دوال في الفيجوال بيسك لعمل ذلك ولكن للأسف لم أجد أي شي حتى في المكتبات القياسية ولكن وجدت بعض الدوال التي يمكن إضافتها للبرنامج لعمل ذلك وهي للتحويل بين الستعشري والثنائي والعكس. وللتحويل للأنظمة الأخرى فبإمكانك استخدام دوال الفيجوال بيسك القياسية كالتحويل من العشري إلى الستعشري أوالثماني والعكس. وعليه يمكن التحويل لأي نظام رقمي قياسي مع هاتين الدالتين Private Function Hex2Bin(ByVal HexValue As String) As String Dim BinTable As Variant Dim i As Integer, k As Long Hex2Bin = "" BinTable = Array("0000", "0001", "0010", "0011", _ "0100", "0101", "0110", "0111", _ "1000", "1001", "1010", "1011", _ "1100", "1101", "1110", "1111") For k = 1 To Len(HexValue) i = Val("&H" & Mid$(HexValue, k, 1)) Hex2Bin = Hex2Bin & BinTable(i) Next End Function Private Function Bin2Hex(ByVal BinValue As String) As String Dim BinTable, HexTable As String Dim i As Integer, k As Long Bin2Hex = "" BinTable = " 0000 0001 0010 0011 0100 0101 0110 0111 1000" & _ " 1001 1010 1011 1100 1101 1110 1111" HexTable = "0123456789ABCDEF" If Len(BinValue) Mod 4 Then BinValue = String$(Len(BinValue) Mod 4, "0") & BinValue End If For k = 1 To Len(BinValue) Step 4 i = InStr(BinTable, " " & Mid$(BinValue, k, 4)) Bin2Hex = Bin2Hex & Mid$(HexTable, (i \ 5) + 1, 1) Next End Function |