说明.txt

来自「二进制格雷码与自然二进制码的互换」· 文本 代码 · 共 27 行

TXT
27
字号
        unsigned int	m_BtoGD; //改为 int	m_BtoGD;效果不一样
	unsigned int    m_BtoGG; //改为 int    	m_BtoGG;效果不一样
	unsigned int	m_GtoBD; //改为 int	m_GtoBD;效果不一样
	unsigned int	m_GtoBG; //改为 int	m_GtoBG;效果不一样

即:对于unsigned int型数为32位转换;对于有符号数的转换位31位;

        temp^=temp>>16;//32位转换
        temp^=temp>>8; //16位转换
	temp^=temp>>4; //8位转换
	temp^=temp>>2; //4位转换
	temp^=temp>>1; //3位转换
在*.h文件中将int型改为unsigned int型时,DecimaltoGray按钮等中的十进制转换成二进制使用的代码将出错,即“_itoa(m_BtoGD,buffer,2);”将出错。可改为别的代码,如下:

void CMyDlg::dec_bin(int n)
{
	int mod;
	mod=n%2;
	if(n>=2)
	  dec_bin(n/2); 
	CString str;
	str.Format("%d",mod);
        str_DtoB=str_DtoB+str;//str_DtoB是在*.h文件中定义的CString变量
	return;
}

在示例中,32 unsigned int按钮示范了对于unsigned int型十进制转换成二进制的操做;其他相关按钮可作内似的修改。

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?