1160: 十进制-十六进制 解题心得
2015-07-18 15:17
281 查看
原题
View Code
Description
把十进制整数转换为十六进制,格式为0x开头,10~15由大写字母A~F表示。Input
每行一个整数x,0<= x <= 2^31。Output
每行输出对应的八位十六进制整数,包括前导0。Sample Input
0 1023
Sample Output
0x00000000 0x000003FF 分析:由十进制对n进制的转换 最低位为 x%n 上一位为 x/n%n 再上一位为 x/n/n&n 所以 我的代码
#include<iostream> #include<cstdio> #include<cstring> using namespace std; char a[8]; int main() { int i = 7; long long b; while (cin >> b){ i = 7; memset(a, '0', sizeof(a)); while (b != 0 && i>0){ int x = b % 16; b = b / 16; if (x >= 10){ a[i] = x + 55; i--; } else{ a[i] = x + 48; i--; } } cout << "0x"; for (int j = 0; j < 8; j++){ cout << a[j]; if (j == 7) cout << endl; } } return 0; }
View Code
相关文章推荐
- C#版七层登陆
- 大话设计模式之Python实现【简单工厂模式】
- Linux 自旋锁
- webservices(WS)
- codevs1028
- 自身类型(self type)
- tp实现贴脸灭屏
- Python Symbol Table
- 19.最经济app发短信的方法
- Cocos2d-x中添加显示文字的三种方式 LabelTTF 、LabelBMFont 和 LabelAtlas
- SCOM 2012R2 (2) NEW INSTALLATION
- 属性 & 便利构造器
- 计蒜之道 初赛 第一场 搜狗输入法的分词算法
- Java基础---Proxy 代理
- iptables 防火墙笔记 2
- boost中类型转换学习
- 计蒜客第一场A
- C++智能指针
- VC++ 控件赋值取值
- VC++ 控件赋值取值