上天人类管理中心. 2021-04-28 17:48 采纳率: 100%
浏览 71
已采纳

C++ ASCLL码调整实验

实验名称:Asc-ii 码调整实验
将定义在数组里的所有元素调整为对应的ASCII字符,即0X00-0X09转换为 '0' - '0' , 0X0A-0X0F 转换为 'A' - 'F' 。
已知数组a[6]=[0X01,0X02,0X0A,0X03,0X0B,0X0F]; , 转换完成后,保存到 res[6] 中。方法:用if判断这个数处于0-9还是A-F之间,参考ASCII码表,分别用+0x30和+0x37调整。
 

  • 写回答

3条回答 默认 最新

  • CSDN专家-黄老师 2021-04-28 17:53
    关注

    char 转 int 之前,先将运算式中的每个字符都转换成 ASCII 码值,再进行计算。
    以下代码为例,其中 i3 的结果符合我们的预期要求。

    char c = '0';
    
    int i1 = c;                    // 48
    int i2 = c - 0;                // 48
    int i3 = c - '0';              // 0
    int i4 = c + '0';              // 96

    nt 转 char 之前,先将运算式中的每个字符都转换成 ASCII 码值,再进行计算。
    计算出数值后,再据此转换为字符(数值为该字符对应的 ASCII 码值)。
    以下代码为例,其中 c4 的结果符合我们的预期要求。

    int i = 5;
    
    char c1 = i;                  // 越界
    char c2 = i - 0;              // 越界
    char c3 = i - '0';            // 越界
    char c4 = i + '0';            // 5
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料