You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

十进制转十六进制代码中加48、加55操作的作用是什么?

十进制转十六进制代码中常数48、55的含义说明

你给出的代码核心作用是将取余得到的数值结果,转换为对应十六进制字符的ASCII编码值,两个常数都是ASCII字符集的固定偏移量:

// check if temp < 10
if (temp < 10) {
    hexaDeciNum[i] = temp + 48;
    i++;
}
else {
    hexaDeciNum[i] = temp + 55;
    i++;
}

n = n / 16;
}
  • 加48的逻辑:ASCII编码中,数字字符0`9`对应的十进制编码值刚好是`48`57。当余数temp小于10时,对应的十六进制字符就是0~9,直接用temp加上48就能得到对应数字的ASCII编码,比如temp=0时,0+48=48对应字符0;temp=9时,9+48=57对应字符9。
  • 加55的逻辑:ASCII编码中,大写英文字母A`F`对应的十进制编码值是`65`70。当余数temp大于等于10时,对应的十六进制字符就是AF(分别代表十进制的1015),用temp加上55就能得到对应字母的ASCII编码,比如temp=10时,10+55=65对应字符A;temp=15时,15+55=70对应字符F。

如果需要输出小写的十六进制字符a~f,只需要把else分支的55替换为87即可,因为小写字母a的ASCII编码是97,10+87=97刚好对应a。

内容的提问来源于stack exchange,提问作者user16146531

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 23:42:05