#include<stdio.h>
#include<math.h>
int main()
{ int i,j,k,m=0,sum=0,p=0;
char a[4][8];
for(i=0;i<4;i++)
{for(j=0;j<8;j++)
a[i][j]=getchar();}
for(i=0;i<4;i++)
{ for(k=7;k>=0;k--)
{sum=sum+(a[i][m]-'0')*pow(2,k);
m=m+1;
if(m==8)
{m=0;}
}
p=p+1;
if(p==4)
printf("%d",sum);
else
printf("%d.",sum);
sum=0;
}
}
代码是输入二进制数然后让输出10进制格式的IP地址。就想问一下代码中-‘0’中作用是啥?是必须转化为某种固定格式吗?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
赵4老师 2021-11-24 09:04关注将'0'~'9'的ASCII码0x30~0x39
减去'0'的ASCII码0x30
转换为对应的数值0x00~0x09也就是0~9本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 1无用