#include
#define maxsize 1000
char my_xor (
char a,
char b)
//異或運算
if(a != b)
return
'1';
return
'0';
}void
b2g(
)//二進位製碼轉換為格雷碼
;//表達二進位製碼,由1和0組成。
int n =0;
//陣列的大小
printf
("請輸入二進位製碼的長度n:");
scanf
("%d"
,&n)
;getchar()
;printf
("請輸入要轉換的二進位製碼:");
for(
int i =
0; i < n; i++
)//檢查二進位製碼:
// printf("%s", b);
char g[maxsize]=;
//建立格雷碼陣列
g[0]= b[0]
;for
(int i =
1; i < n; i++
)printf
("轉換出的典型格雷碼是:%s\n"
, g);}
char
opposite_xor
(char b,
char g)
//由b[i-1]和g[i]判斷b[i]並返回b[i]
if(g ==
'1')
else
if(g ==
'0')
return
'0';
}void
g2b(
)//格雷碼轉二進位製碼
;//表達二進位製碼,由1和0組成。
char g[maxsize]=;
//建立格雷碼陣列
int n =0;
//陣列的大小
printf
("請輸入格雷碼的長度n:");
scanf
("%d"
,&n)
;getchar()
;printf
("請輸入要轉換的格雷碼:");
for(
int i =
0; i < n; i++
)//檢查二進位製碼:
// printf("%s", b);
b[0]= g[0]
;for
(int i =
1; i < n; i++
)printf
("轉換出的二進位製碼是:%s"
, b);}
intmain()
//b2g測試案列
/*輸入:
40001
輸出:0001
輸入:4
0101
輸出:0111
輸入:4
1010
輸出:1111
*///g2b測試案列
/*輸入:
40001
輸出:0001
輸入:4
0111
輸出:0101
輸入:4
1111
輸出:1010
*/
格雷碼二進位制轉換
在結構光編碼方法中,有一種格雷碼編碼方法 與二進位制編碼方法相比,格雷碼編碼方法能夠更好的乙隻雜訊干擾,方便糾錯。用格雷碼對三維測量空間進行編碼,在解碼時需要將格雷碼在此轉換成二進位制,方便計算。實現 如下 unsigned binarytogray unsigned num 將二進位制值右移一位,...
格雷碼與二進位製碼的轉換
gray code是1880年由法國工程師jean maurice emlle baudot發明的一種編碼,是一種絕對編碼方式,典型格雷碼是一種具有反射特性和迴圈特性的單步自補碼,它的迴圈 單步特性消除了隨機取數時出現重大誤差的可能,它的反射 自補特性使得求反非常方便。格雷碼屬於可靠性編碼,是一種錯...
Gray碼 格雷碼 二進位制
以下內容是看了matrix67的關於二進位制的blog link 的一點總結與摘錄。gray碼,中文 格雷碼 是一種特殊的編碼,相鄰兩個格雷碼的二進位制表示中有且僅有一位不同,且 n 階 gray 碼是 0 2 n 1 的乙個排列。n 階 gray 碼可以由 n 1 階 gray 碼映象翻轉之後最前...