تبلیغات
آموزش برنامه نویسی سی ++،سی شارپ،جاوا اسکریپت - تبدیل مبنای اعداد
 
آموزش برنامه نویسی سی ++،سی شارپ،جاوا اسکریپت
صفحه نخست         تماس با مدیر         پست الکترونیک        RSS         ATOM
 
 
چهارشنبه 9 آذر 1390 :: نویسنده :
برنامه: اعدادی که در مبنای 2 تا 61 هستند را به هم تبدیل می کند

الگوریتم :این برنامه تنها اعداد با مبنای 2 تا مبنای 62 را پشتیبانی می کند.

معادل اعداد در این برنامه:

0   ...   9 که بجای خود،Aبرابر 10   ...   Z که برابر35 ،a برابر 36   ...    z برابر 61

//....................................................................................................................\\

در این برنامه از دو آرایه استفاده می کنیم

//....................................................آرایه اول .......................................................\\

      char data[]={'0','1','2','3','4','5','6',
                            '7','8','9','A','B','C','D',
                            'E','F','G','H','I','J','K',
                            'L','M','N','O','P','Q','R',
                            'S','T','U','V','W','X','Y',
                            'Z','a','b','c','d','e','f',
                            'g','h','i','j','k','l','m',
                            'n','o','p','q','r','s','t',
                            'u','v','w','x','y','z'};

از این آرایه هنگام تبدیل اعداد از مبنای 10 به دیگر مبنا ها استفاده میشود

مثال: هنگام تبدیل یک عدد دهدهی به شانزدهی . 

BASE 16=0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

 که

عنصر 10 این آرایه برابر A

  عنصر 14 این آرایه برابر E  

  عنصر 15 این آرایه برابر F  

//....................................................آرایه دوم .......................................................\\

      int data1[123];
      int i ,j;

      for(i=0,j=48 ;i<10; i++,j++)
              data1[j]=i ;
      for(i=10,j=65 ;i<36; i++,j++)
              data1[j]=i;
      for(i=36,j=97 ;i<62; i++,j++)
              data1[j]=i;

 و این آرایه برای تبدیل از دیگر مبناها به مبنای 10

توسط 3 حلقه ی مقابل این آرایه طوری مقدار دهی می شود که کد اسکی را دریافت و مفهوم عددی آن را در مبنای 10 طبق آرایه ی اول بر می گرداند

مثال:اگر عنصر 48 (کد اسکی عدد صفر)این آرایه فراخوانی شود مقدار صفر را برمی گرداند

  اگر عنصر 10 (کد اسکی عدد A)این آرایه فراخوانی شود مقدار  A  را برمی گرداند  

  اگر عنصر 14 (کد اسکی عدد E)این آرایه فراخوانی شود مقدار  E  را برمی گرداند    

  اگر عنصر 15 (کد اسکی عدد F)این آرایه فراخوانی شود مقدار  F  را برمی گرداند    

//....................................................................................................................\\

void OtherToDec(char num[],int size,int thisbase,int newbase)

این تابع اعداد در هر مبنای را به 10 تبدیل می کند و شامل یک 

متغیر  که آرایه ای از کاراکتر هاست و عدد مورد نظر در مبنای غیر از 10 (یا مبنای 10) در خود دارد،

متغیری برای ذخیره ی اندازه ی آرایه ی قبل

مبنای عدد وارد شده

و مبنایی که باید به آن تبدیل شود، می باشد

این تابع در پایان کار خود عدد دیافت شده را به مبنای 10 می رساند و به تابع بعدی ارسال می کند تا به مبنای غیر از 10(یا 10) تبدیل شود

//....................................................................................................................\\

void DecToOther(int num,int newbase,char data[])

این تابع عدد در مبنای 10 را به دیگر مبنا ها تبدیل می کند و آرگومانهای(متغیر های ارسالی به تابع)

عدد در مبنای 10

مبنایی که باید به آن تبدیل شود

و آرایه ای که در اول توضیح دادیم :)


 برنامه تبدیل مبنا به زبان ++C
#include<iostream.h>
#include<conio.h>


void DecToOther(int num,int newbase,char data[])
{

      int x=0;
      x=num%newbase;

      if(num !=0)
      DecToOther(num/newbase,newbase,data);
      cout<<data[x];
}
//.......................................................

void OtherToDec(char num[],int size,int thisbase,int newbase)
{

      int data1[123];
      int i ,j;

      for(i=0,j=48 ;i<10; i++,j++)
              data1[j]=i ;
      for(i=10,j=65 ;i<36; i++,j++)
              data1[j]=i;
      for(i=36,j=97 ;i<62; i++,j++)
              data1[j]=i;
      char data[]={'0','1','2','3','4','5','6',
                            '7','8','9','A','B','C','D',
                            'E','F','G','H','I','J','K',
                            'L','M','N','O','P','Q','R',
                            'S','T','U','V','W','X','Y',
                            'Z','a','b','c','d','e','f',
                            'g','h','i','j','k','l','m',
                            'n','o','p','q','r','s','t',
                            'u','v','w','x','y','z'};  
      i=0;
      long power=1;
      int cint;
      long res=0;

      while(size >= 0)
      {
             if(i!=0)
             power = power*thisbase;

             cint =num[size];
             res =res + data1[cint]*power;

             i=i+1;
             size=size-1;

             }
      DecToOther(res,newbase,data);
}
//..................
main()
{
      char c;
      char num[80];
      int size = -1;
      int x,y;

      cout<<"\nEnter Number : ";
      cin.get(c);
      while( c!='\n')
      {
              size= size +1;
              num[size]=c;
              cin.get(c);
       }

      cout<<"\nYor Entered Number Base : ";
      cin>>x;
      cout<<"\nConvert to which base? Enter Here : ";
      cin>>y;
      cout<<"\n\n result: ";
      OtherToDec(num,size,x,y);  
getch();
return 0;
}


   برنامه تبدیل مبنا به زبان #C
 using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//.......................................................
void DecToOther(long num, int newbase, char[] data)
{

     long x = 0;
     x = num % newbase;

     if (num != 0)
             DecToOther(num / newbase, newbase, data);
     lblresult.Text = lblresult.Text + data[x];

}
//.......................................................

void OtherToDec(char[] num, int size, int thisbase, int newbase)
{


     int[] data1 = new int[123];
     int i, j;

     for (i = 0, j = 48; i < 10; i++, j++)
         data1[j] = i;
     for (i = 10, j = 65; i < 36; i++, j++)
        data1[j] = i;
     for (i = 36, j = 97; i < 62; i++, j++)
         data1[j] = i;

     char[] data = new char[62]{'0','1','2','3','4','5','6',
                                        '7','8','9','A','B','C','D',
                                        'E','F','G','H','I','J','K',
                                        'L','M','N','O','P','Q','R',
                                        'S','T','U','V','W','X','Y',
                                        'Z','a','b','c','d','e','f',
                                        'g','h','i','j','k','l','m',
                                        'n','o','p','q','r','s','t',
                                        'u','v','w','x','y','z'};
     i = 0;
     long power = 1;
     int cint;
     long res = 0;
     while (size >= 0)
     {
         if (i != 0)
               power = power * thisbase;
         cint = Convert.ToInt32(num[size]);
         res = res + data1[cint] * power;
         i = i + 1;
         size = size - 1;
      }
DecToOther(res, newbase, data);
}
private void button1_Click(object sender, EventArgs e)
{
            lblresult.Text = "Result is : ";
            char[] num = new char[txt1.TextLength];
            num = txt1.Text.ToCharArray(0, txt1.TextLength);

           int thisbase = Int32.Parse(txtthisbase.Text);
           int newbase = Int32.Parse(txtnewbase.Text);

           OtherToDec(num, txt1.TextLength-1, thisbase, newbase);
}
}
}

     برنامه تبدیل مبنا به زبان JavaScript
 <%@LANGUAGE="JAVASCRIPT" CODEPAGE="1252"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<script language="javascript" type="text/javascript">


function DecToOther(num,newbase,data)
{

var x=Math.floor(num%newbase);
if(num !=0)
{
    DecToOther(Math.floor(num/newbase),newbase,data);
}
document.write(data[x]);
}
//.......................................................

function OtherToDec(myform)
{


var num =myform.txtnum.value;
var size = myform.txtnum.value.length;
var thisbase = eval(myform.txtthisbase.value);
var newbase = eval(myform.txtnewbase.value);

var data1 = new Array ( 123 ) ;
var i=0;
var j=0;



for (i = 0, j = 48; i < 10; i++, j++)
{
    data1[j] = i;}
for (i = 10, j = 65; i < 36; i++, j++)
{
    data1[j] = i;}
for (i = 36, j = 97; i < 62; i++, j++)
{
    data1[j] = i;}

data = new Array ( '0','1','2','3','4','5','6',
'7','8','9','A','B','C','D',
'E','F','G','H','I','J','K',
'L','M','N','O','P','Q','R',
'S','T','U','V','W','X','Y',
'Z','a','b','c','d','e','f',
'g','h','i','j','k','l','m',
'n','o','p','q','r','s','t',
'u','v','w','x','y','z');

i = 0;
power = 1;
cint = 0;
res = 0;
size = size-1;
while (size >= 0)
{

if (i != 0)
{
    power = power * thisbase;
}
var cint=0
cint = num.charCodeAt(size);
 res = res + ((data1[cint]) * power);
 i = i + 1;
size = size - 1;
}

DecToOther(res, newbase, data);
}
</script>
<body >
<form name="form1">
Convert Base Number.<br>Note: Support base 2 till base 62.<br>Becarful about Your <b>Caps Lock</b><br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Enter&nbsp;&nbsp;&nbsp;Number&nbsp;&nbsp;:&nbsp;

<input type="text" name="txtnum"><br><br>

Want Convert It From

<input type="text" name="txtthisbase">

base To

<input type="text" name="txtnewbase"> base.<br>

<input type="button" value=" Convert " onClick="OtherToDec(form1)">
</form>
</body>
</html>

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


تبدیل کاراکتر به کد اسکی به زبان  ++C

int cint =num[size];

.......................

تبدیل کاراکتر به کد اسکی به زبان    #C

int cint = Convert.ToInt32(num[size]);

.......................

تبدیل کاراکتر به کد اسکی به زبان     javascript

int cint = num.charCodeAt(size);

.......................

عنصر size-1 از ارایه ی num را با ریختن در متغیر cint به کد اسکی تبدیل می کند






نوع مطلب :
برچسب ها : سورس کد تبدیل اعداد از هر مبنا به هر مبنای دیگر به زبان سی ++، سورس کد تبدیل اعداد از هر مبنا به هر مبنای دیگر به زبان سی پلاس پلاس، سورس کد تبدیل اعداد از هر مبنا به هر مبنای دیگر به زبان c++، سورس کد تبدیل مبنا ی اعداد از 2 تا 61 به زبان سی++، سورس کد تبدیل مبنا ی اعداد از 2 تا 61 به زبان سی پلاس پلاس، سورس کد تبدیل مبنا ی اعداد از 2 تا 61 به زبان c++، سورس کد تبدیل اعداد از هر مبنا به هر مبنای دیگر به زبان c#، سورس کد تبدیل اعداد از هر مبنا به هر مبنای دیگر به زبان javascript، سورس کد تبدیل اعداد از هر مبنا به هر مبنای دیگر به زبان سی شارپ، سورس کد تبدیل اعداد از هر مبنا به هر مبنای دیگر به زبان جاوا اسکریپت، سورس کد تبدیل مبنا ی اعداد از 2 تا 61 به زبان سی شارپ، سورس کد تبدیل مبنا ی اعداد از 2 تا 61 به زبان جاوا اسکریپت، سورس کد تبدیل مبنا ی اعداد از 2 تا 61 به زبان c#، سورس کد تبدیل مبنا ی اعداد از 2 تا 61 به زبان javascript، تبدیل کاراکتر به کد اسکی به زبان ++C، تبدیل کاراکتر به کد اسکی به زبان #C، تبدیل کاراکتر به کد اسکی به زبان javascript،
لینک های مرتبط :


 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر


درباره وبلاگ



سورس کد برنامه ها، به سه زبان سی ++ ، سی شارپ ، جاوا اسکریپت است.


برای اجرای کدهای سی++ می توانید از نرم افزار dev c++ استفاده کنید

برای اجرای کدهای جاوا اسکریپت،آنها را در not pad کپی و با فرمت html ذخیره کنید. سپس فایل html را اجرا کرده ، به مرورگر اجازه دهید برنامه را اجرا کند

کد های سی شارپ به صورت windowsAplicatin هستند



برای مشاهده ی بهتر کد ها، آنها را در not pad کپی کنید

مدیر وبلاگ :
نویسندگان
جستجو

آمار وبلاگ
کل بازدید :
بازدید امروز :
بازدید دیروز :
بازدید این ماه :
بازدید ماه قبل :
تعداد نویسندگان :
تعداد کل پست ها :
آخرین بازدید :
آخرین بروز رسانی :


آپلود نامحدود عکس و فایل

آپلود عکس