C++用栈实现进制转换,但是在16进制是无法显示字母,求教,十分感谢

[复制链接]
查看11 | 回复3 | 2013-3-4 18:25:16 | 显示全部楼层 |阅读模式
出了if(00&&n<10)以外,switch(i){case 10:cout<<"A";break;case 11:cout<<"B";break;case 12:cout<<"C";break;case 13:cout<<"D";break;case 14:cout<<"E";break;default:cout<<"F";break;}可以化简为i+='a'-10。等效的,就i的数字减10然后加上字符a的编码(调换成i+=-10+‘a'你就懂了),结果就是字符编码。这个方法很有用哦!...
回复

使用道具 举报

千问 | 2013-3-4 18:25:16 | 显示全部楼层
错误在这 if (0<n<10) 应改为if (0<n && n<10)0<n<10在这里不是条件判断编译器理解为 0<n的结果为真(1)或假(0);再和10比较 显然0,1小于10,所以是不会进else的...
回复

使用道具 举报

千问 | 2013-3-4 18:25:16 | 显示全部楼层
if (0<n<10)少年,这不是数学……改成:if (0<n && n<10)...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行