c語言10進制轉為2進制編碼,c語言2進制轉10進制算法

本文目錄一覽:

c語言十進制換二進制

第一:math.h頭文件在這沒用上,可刪。

第二:tol從二進制高位開始累加,先加的是最左邊的數,所以每次加完以後,所有二進制數都要要左移一位。

第三:tol+的是二進制數0或者1,而st字符串中每一位都是字符’0’或者’1′,所以需要*st-‘0’來把字符轉換成數字。*st++為里循環取出每一個字符,++在後是先取值再加加.

所以*st++-‘0’;就相當於*st-‘0’;st++;這兩句。

另外,你貼的代碼二進制轉十進制,不是十轉二進制。

用c語言編寫十進制轉化二進制

#include stdio.h

void d2n(unsigned long d,int n)

{

  if(d=n)

  {

      d2n(d/n,n);

  }

  printf(“%c”,”0123456789ABCDEF”[d%n]);

}

int main()

{

  unsigned long d;

  int n;

  scanf(“%lu”,d);

  d2n(d,2);

  return 0;

}

求十進制轉換二進制C語言代碼

求十進制轉換二進制C語言代碼代碼如下:

#include stdio.h

#define  NR (sizeof(int)*8)  // 二進制位的個數

void deciToBin(int num); // 十進制轉換為二進制函數聲明

/* 主函數 */

int main(void)

{

int num;

fprintf(stdout, “請輸入一個正整數:”);

/* 獲取並檢查用戶輸入 */

while (1)

{

if (fscanf(stdin, “%d”, num) != 1)

{

fprintf(stderr, “輸入錯誤!請重新輸入:”);

while (getchar() != ‘\n’); // 去掉多餘的非法字符

continue;

}

else if (num 0)             // 輸入的數不能為負數

{

fprintf(stderr, “請輸入錯誤!請輸入正整數:”);

continue;

}

else

break;

}

fprintf(stdout, “對應二進制為:”);

#if 1 /* 方法一: 不使用遞歸 */

char bitArr[NR];

int i = -1;

/* 算法:棧的數學模型 */

do {

i += 1;

bitArr[i] = num % 2;

num /= 2;

} while (num != 0);

/* 逆序打印 */

for (i ; i = 0; i–)

{

fprintf(stdout, “%d”, bitArr[i]);

}

fputc(‘\n’, stdout);

#else /* 方法二: 使用遞歸 */

if (num == 0)

{

fprintf(stdout, “0\n”);

}

else

{

deciToBin(num);       // 調用第歸函數

fputc(‘\n’, stdout);

}

#endif

return 0;

}

/*

* @函數名:deciToBin

* @函數功能:實現十進制轉換為二進制

* @參數:需要轉換的十進制整數

*/

void deciToBin(int num)

{

/* 第歸結束條件 */

if (num == 0)

{

return;

}

/* 第歸調用 */

deciToBin(num/2);

/* 逆序打印 */

fprintf(stdout, “%d”, num%2);

}

擴展資料:

使用C語言編程實現任意進制數(2-16進制)轉換為其他任意進制數(2-16進制)方法:

#includestdio.h

#includestring.h

#includestdlib.h

int TenNum(char a[],int B);

void Numchange(int m, int B);

int TenNum(char a[], int B)

{

int len, i, num;

int sum = 0;   

len = strlen(a);

for (i = 0; i len; i++)

{

if (a[i] = ‘0’ a[i] = ‘9’)

num = a[i] – ‘0’;

else if (a[i] = ‘A’ a[i] = ‘F’)

num = a[i] – ‘A’ + 10;

sum = sum * B + num;

}

return sum;

}

void Numchange(int m, int B)

{

int n;

if (m)

{

Numchange(m / B, B);

n = m % B;

if (n 10)

printf(“%d”, n);

else

printf(“%c”, n + 55);

}

}

int main()

{

int B, b;

char a[20];     

printf(“請輸入待轉換數的進制(2-16):”);

do {

scanf_s(“%d”, B);       

} while (B 2 B 16);

printf(“請輸入待轉換數:”);

getchar();       

gets_s(a);

int m = TenNum(a, B);

printf(“請輸入需要轉成幾進制數(2-16):”);

do {

scanf_s(“%d”, b);

} while (B 2 B 16);

printf(“%d進制數%s轉換為%d進制數的結果為:”,B,a,b);

Numchange(m, b);

printf(“\n”);

system(“pause”);

return 0;

}

怎麼用C語言編程把十進制轉化成二進制

c語言中沒有二進制的格式輸出符號.

你可以用itoa函數很方便的將一個10進制int轉變成二進制字符串.

如:

int

i;

char

s[128];

scanf(“%d”,i);

itoa(i,

s,

2);

/*3個參數,第一個是待轉換的數,第二個是存放轉換後的字符串,第三個即需要轉換的進制*/

printf(“該數轉換為二進制是:

[%s]\n”,s);

補充一點,itoa函數的頭文件是stdlib.h

原創文章,作者:SPUR,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/138931.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
SPUR的頭像SPUR
上一篇 2024-10-04 00:21
下一篇 2024-10-04 00:21

相關推薦

  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29
  • Python實現爬樓梯算法

    本文介紹使用Python實現爬樓梯算法,該算法用於計算一個人爬n級樓梯有多少種不同的方法。 有一樓梯,小明可以一次走一步、兩步或三步。請問小明爬上第 n 級樓梯有多少種不同的爬樓梯…

    編程 2025-04-29
  • AES加密解密算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演着非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Harris角點檢測算法原理與實現

    本文將從多個方面對Harris角點檢測算法進行詳細的闡述,包括算法原理、實現步驟、代碼實現等。 一、Harris角點檢測算法原理 Harris角點檢測算法是一種經典的計算機視覺算法…

    編程 2025-04-29
  • 數據結構與算法基礎青島大學PPT解析

    本文將從多個方面對數據結構與算法基礎青島大學PPT進行詳細的闡述,包括數據類型、集合類型、排序算法、字符串匹配和動態規劃等內容。通過對這些內容的解析,讀者可以更好地了解數據結構與算…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • 瘦臉算法 Python 原理與實現

    本文將從多個方面詳細闡述瘦臉算法 Python 實現的原理和方法,包括該算法的意義、流程、代碼實現、優化等內容。 一、算法意義 隨着科技的發展,瘦臉算法已經成為了人們修圖中不可缺少…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29

發表回復

登錄後才能評論