Convertion of grey code and binary 格雷码和二进制数之间的转换

简介:

以下转换代码摘自维基百科 Wikipedia:

/*
        The purpose of this function is to convert an unsigned
        binary number to reflected binary Gray code.
 
        The operator >> is shift right. The operator ^ is exclusive or.
*/
unsigned int binaryToGray(unsigned int num)
{
        return (num >> 1) ^ num;
}
 
/*
        The purpose of this function is to convert a reflected binary
        Gray code number to a binary number.
*/
unsigned int grayToBinary(unsigned int num)
{
    unsigned int mask;
    for (mask = num >> 1; mask != 0; mask = mask >> 1)
    {
        num = num ^ mask;
    }
    return num;
}

本文转自博客园Grandyang的博客,原文链接:格雷码和二进制数之间的转换Convertion of grey code and binary ,如需转载请自行联系原博主。

相关文章
|
2月前
|
5G
MFC编程 -- 浮点数与字符串之间转换
MFC编程 -- 浮点数与字符串之间转换
26 1
进制之间的转换
说明:进制之间的转换有多种,我只列出自己常使用的方法。 十进制:十进制是以 0-9 这九个数字组成的,也是我们日常生活中最常见的数字 二进制:二进制是 0 和 1 这两个数字组成的,一般常用于计算机中表示 八进制:八进制是 0-7 这八个数字组成的,为了区分,一般开头以 0 开头 十六进制:十六进制由 0-9 和A-F 组成,从 A-F 为 10-15,为了区别,开头以 0x 开头
|
5月前
|
Linux C++
iconv转换出现“非法输入序列”的问题
iconv转换出现“非法输入序列”的问题
|
11月前
|
算法 C语言 芯片
【C语言】BCD码、十进制互相转换
【C语言】BCD码、十进制互相转换
367 0
|
存储 数据安全/隐私保护 数据中心
[oeasy]python0083_十进制数如何存入计算机_八卦纪事_BCD编码_Binary_Coded_Decimal
[oeasy]python0083_十进制数如何存入计算机_八卦纪事_BCD编码_Binary_Coded_Decimal
134 0
[oeasy]python0083_十进制数如何存入计算机_八卦纪事_BCD编码_Binary_Coded_Decimal
二进制表达中,有多少个位(bit)不同
两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
二进制与十进制互相转换的计算方法(个人向)
二进制与十进制互相转换的计算方法(个人向)