當前位置:首頁 » 編程語言 » c語言十進制轉格雷碼
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言十進制轉格雷碼

發布時間: 2022-01-18 11:45:33

⑴ 求幫助 用c語言編製程序 格雷碼轉換為自然二進制碼

public:
MGraph(int mSize, const T& noedg);
~MGraph();
ResultCode Insert(int u, int v, T &w);
ResultCode Remove(int u, int v);
bool Exist(int u, int v) const;
int Vertices() const { return n; }
void Output();
protected:

⑵ 十進制轉成格雷碼

方法:

  1. 先轉成十六進制;

  2. 再轉成格雷碼;


採用除基取余法
95/16,商5,餘15,即十六進制數F
5/16,商0,餘5
從上到下依次是個位、十位
所以,最終結果為(5F)16。


採用除基取余法
61/16,商3,餘13,即十六進制數D
3/16,商0,餘3
從上到下依次是個位、十位
所以,最終結果為(3D)16。


查表轉換:

(95)10=(5F)16=(0111 1000)GR

(61)10=(3D)16=(0010 1011)GR

⑶ C語言十進制轉二進制

十進制轉二進制可以使用庫函數itoa。

itoa函數原型:char*itoa(int value,char*string,int radix);

功能:將任意類型的數字轉換為字元串。在<stdlib.h>中與之有相反功能的函數是atoi。

nt value 被轉換的整數,char *string 轉換後儲存的字元數組,int radix 轉換進制數,如2,8,10,16 進制等。


(3)c語言十進制轉格雷碼擴展閱讀:

方法

#include<stdio.h>

intmain(void)

{ inti=0,n,a[32];

printf("請輸入一個十進制整數. ");

scanf("%d",&n);

while(n>0)

{a[i]=n%2;

i=i+1;

n=n/2; }

printf("十進制整數轉換為二進制數是: ");

for(i--;i>=0;i--)

printf("%d",a[i]);

printf(" ");

return0;}

十進制整數轉換為二進制整數的方法:

十進制整數轉換為二進制整數採用"除2取余,逆序排列"法。

具體做法是:用2去除十進制整數,可以得到一個商和余數;再用2去除商,又會得到一個商和余數,如此進行,直到商為零時為止,然後把先得到的余數作為二進制數的低位有效位,後得到的余數作為二進制數的高位有效位,依次排列起來。

⑷ c語言怎麼將十進制轉化成二進制

#include <stdio.h>

void main()

{

//進制轉換函數的聲明

int transfer(int x);

int x;

printf("請輸入一個十進制數:");

scanf("%d",&x);

printf("轉換成二進制數是:%d ",transfer(x));

}

int transfer(int x)

{

int p=1,y=0,yushu;

while(1)

{

yushu=x%2;

x/=2;

y+=yushu*p;

p*=10;

if(x<2)

{

y+=x*p;

break;

}

}

return y;

}

89÷2 ……1

44÷2 ……0

22÷2 ……0

11÷2 ……1

5÷2 ……1

2÷2 ……0

1

十進制小數轉二進制數:「乘以2取整,順序排列」(乘2取整法)

網路-二進制

⑸ c語言實現格雷碼轉換為二進制

把十進制小數乘以2,取其積的整數部分作對應二進制小數的最高位系數k -1 再取積的純小數部分乘以2,新得積的整數部分又作下一位的系數k -2 ,再取其積的純小數部分繼續乘2,…,直到乘積小數部分為0時停止,這時乘積的整數部分是二進制數最低位系數,每次乘積得到的整數序列就是所求的二進制小數。這種方法每次乘以基數取其整數作系數。所以叫乘基取整法。需要指出的是並不是所有十進制小數都能轉換成有限位的二進制小數並出現乘積的小數部分0的情況,有時整個換算過程無限進行下去。此時可以根據要求並考慮計算機字長,取定長度的位數後四捨五入這時得到的二進制數是原十進制數的近似值。

⑹ 十進制轉格雷碼計算器

4個2進制位為一個16進制數,2進制1111為16進制F,2進制中千位的1=8,百位的1=4,十位的1=2,個位的1=1,將各個位的數作相應轉換再相加,的到的數就是10進制數0-15,可輕松轉換成16進制.如01011100,可看成是兩組2進制數0101和1100,則這個數就是16進制的5C.
10轉16:
100以內一點的10轉16心算比較快,復雜的用「計算器」算了.10轉16用傳統的計算方式可以了,就是大於15小於256的10進制數除以16為的值為十位的16進制數,其餘數為個位的16進制數,沒余數則個位為0.如61的16進制是3D,61除以16得3餘13,3作十位數,13轉成D為各位數.
16轉10:
用相反的道理,將十位數乘以16加上個位數.如5A,將5乘以16得80,加上A的10進制10,結果是90.
請參考

⑺ c語言十進制轉換

十進制的任意轉換
#include
#include
int
main()
{
int
a,b,c,n
=
0,m[40];
printf("請輸入你想算得數
=__\b\b");
scanf
("%d",&a);
printf("
請輸入你想算的進制
=__\b\b");
scanf
("%d",&b);
while
(a
!=
0)
{
n
++
;
c
=
a
%
b;
m[n]
=
c;
a
=
a
/
b;
}
for
(a
=
n;
a
>=
1;a--)
printf
("%d",m[a]);
return
0;
}

⑻ c語言輸入一個十進制數,把它轉換成各種進制然後輸出

請在此輸入您的
#include<stdio.h>
int main()
{
long n;
int a[1000], b, i, j, r;
while (scanf("%ld%d", &n, &r) != EOF)
{
if (n < 0) {n = -n; printf("-"); }
if (n == 0) printf("0");
i = 0;
while (n > 0)
{
b = n % r;
a[i] = b;
n = n / r;
i++;
}
for (j = i - 1; j >= 0; j--)
{
if (a[j] == 10) printf("A");
else if (a[j] == 11) printf("B");
else if (a[j] == 12) printf("C");
else if (a[j] == 13) printf("D");
else if (a[j] == 14) printf("E");
else if (a[j] == 15) printf("F");
else printf("%d", a[j]);
}
printf("\n");
}
return 0;
}
回答

⑼ 如何將十進制轉換成格雷碼

轉換方法:
方法:
1、先將十進制轉成十六進制;

2、再將十六進制轉成格雷碼;
採用除基取余法

例如:十進制95轉格雷碼
95/16,商5,餘15,即十六進制數F

5/16,商0,餘5
從上到下依次是個位、十位
所以,最終結果為(5F)16。

⑽ C語言十進制轉二、八、十六進制

只是要輸出的話可以用printf函數中的%x輸出十六進制,%c輸出八進制,%b輸出二進制。