C++小程序:单个汉字与其二进制编码(字符串形式)的互转
发布时间
阅读量:
阅读量
本小程序借助自定义函数的方式,达成汉字字符与二进制字符串之间的相互转换。程序所涉及的基础知识涵盖位的左右移操作、位的或与运算等。通过编写或学习该小程序,有助于加深对C++基础内容的理解与掌握。
程序代码及其详细注释如下:
/
#include
using namespace std;
#include
//将二进制字符串转换为char类型字符
char StrToChar(char str[])
//说明:一个汉字由两个8位字节构成,调用该函数时需分别传入每个字节(即每次仅输入8位字符),返回的char字符组合后即可显示完整汉字
{
char chr = 0;
for (int i = 0; i < 8; ++i)
//
{
chr = (chr << 1) | (str[i] - '0');
/
上述语句是该子程序的关键部分。从运算优先级的角度分析,“chr<<1”本身可以省略括号,因为其优先级高于“|”运算符,此处添加括号是为了增强表达的清晰度。
首先看右边的部分(str[i] - '0'),参数str中的每一位只能取"1"或"0"两个值。字符"1"的ASCII码为49(十进制)即0011 0001(二进制),而字符"0"的ASCII码为48(十进制)即0011 000
全部评论 (0)
还没有任何评论哟~
