تحويل رقم من قاعدة إلى قاعدة أخرى في C
< ما قبل الفئة = "prettyprint lang-C">#include < stdio .h="">تحويل طويل InBase10 (طويل n ، قاعدة int)
{
حاصل طويل = n / 10 ؛
الباقي = n٪ 10 ؛
إذا بقي (حاصل القسمة == 0)
؛
else
إرجاع التحويل Base10 (حاصل القسمة ، القاعدة) * القاعدة + الباقي ؛
}
long convertEnBase2 (طويل n ، قاعدة int)
{
حاصل طويل = n / 2 ؛
الباقي = n٪ 2 ؛
إذا بقي (حاصل القسمة == 0)
؛
else
إرجاع convertEnBase2 (حاصل القسمة ، القاعدة) * القاعدة + الباقي ؛
}
long convertInBase4 (n طويل، قاعدة int)
{
حاصل القسمة الطويل = n / 4;
الباقي = n٪ 4 ؛
إذا بقي (حاصل القسمة == 0)
؛
else
إرجاع convertenBase4 (حاصل القسمة ، القاعدة) * القاعدة + الباقي ؛
}
long convertInBase8 (n طويل، قاعدة int)
{
حاصل القسمة الطويل = n / 8;
الباقي الطويل = n٪ 8 ؛
إذا بقي (حاصل القسمة == 0)
؛
else
إرجاع convertenBase8 (حاصل القسمة ، القاعدة) * القاعدة + الباقي ؛
}
long convertInBase16 (n طويل، قاعدة int)
{
حاصل القسمة الطويل = n / 16;
الباقي الطويل = n٪ 16 ؛
إذا بقي (حاصل القسمة == 0)
؛
else
إرجاع التحويل Base16 (حاصل القسمة ، القاعدة) * القاعدة + الباقي ؛
}
int main() {
long n = 17;
int base = 10 ؛
//عشري --> base(2,4,8,16)
printf ("٪ ld إلى base٪ 2d = ٪ ld إلى base 2\n"، n، base، تحويل إلى Base2 (n، base)؛
printf ("٪ ld إلى base٪ 2d = ٪ ld إلى base 4\n" ، n ، base ، قم بالتحويل إلى Base4 (n ، base) ؛
printf ("٪ ld إلى base٪ 2d = ٪ ld إلى base 8\n" ، n ، base ، قم بالتحويل إلى Base8 (n ، base) )؛
printf ("٪ ld إلى base٪ 2d = ٪ ld إلى base 16\n" ، n ، base ، قم بالتحويل إلى Base16 (n ، base) ؛
// ثنائي --> عشري < br / > n = 1010 ؛
= 2 ؛
printf ("٪ ld إلى base٪ 2d = ٪ ld إلى base 10\n" ، n ، base ، قم بالتحويل إلى Base10 (n ، base) ؛
// سداسي عشري --> عشري
n = 124;
= 16;
printf ("٪ ld إلى base٪ 2d = ٪ ld إلى base 10\n" ، n ، base ، قم بالتحويل إلى Base10 (n ، base) ؛ < / BR / > < br / > // القاعدة 8 - > ثنائي < br / > n = 12 ؛
= 8 ؛
printf ("٪ ld إلى base٪ 2d = ٪ ld إلى base 10\n" ، n ، base ، قم بالتحويل إلى Base10 (n ، base) ؛
إرجاع 0 ؛
}
< / قبل>