C语言,进制转换之二进制转十六进制,完整代码
2017-09-26 10:13
253 查看
#include "iostream" using namespace std; #define MAX 50 int _2to16()//二转十六 { cout << "请输入二进制数,并以‘$’结束:"; char elem2[MAX]; int flag = 1; char ch; int i = 0; while (flag) { cin >> ch; if (ch != '$') { elem2[i] = ch; i++; } else { flag = 0; } } int length = i; int n = 0; int sum = 0; int product = 0; if (length % 4 != 0)//将缺位的二进制码用0补齐 { int n = 4 - length % 4; int i = 0; for (i = length - 1; i >= 0; i--) elem2[i + n] = elem2[i]; length += n; for (i = 0; i < n; i++) elem2[i] = '0'; cout << "补齐之后的内容是:" << endl; for (i = 0; i < length; i++) cout << elem2[i]<<" "; cout << endl; } for (n = 0; n < length; n++)//判断是否是二进制数 { if ('1' == elem2 || '0' == elem2 ) sum++; } if (sum == length) { char elem16[MAX]; int r = 0; int m = 0; int p = 0; int q = 0; for (m = length - 1; m >= 0; m--) { q = elem2[m] - '0'; product += q * pow(2, p); p++; if (4 == p) { if (product>9) elem16[r] = product+55;//输出A...F范围 else { elem16[r] = product+48;//输出0...9范围 } r++; p = 0; product = 0; } } int j = 0; cout << "对应的十六进制数是:OX"; for (j = r - 1; j >= 0; j--) cout << elem16[j]; cout << endl; } else { cout << "你输入的不是二进制数!" << endl; } return 0; }
相关文章推荐
- C语言,进制转换之二进制转八进制,完整代码
- C语言,进制转换之二进制转十进制,完整代码
- C语言,进制转换之十六进制转二进制,完整代码
- C语言,进制转换之八进制转二进制,完整代码
- C语言实现任意进制的转换,主要注意代码的小技巧
- 堆栈的简单实现之二:进制转换方面的简单应用(C语言实现)
- C语言实现任意进制的转换,主要注意代码的小技巧
- 用C语言代码实现n进制数转换为十进制数
- 用C语言代码实现n进制数转换为十进制数
- FormatRemoteUrl函数之asp实现格式化成当前网站完整的URL-将相对地址转换为绝对地址的代码
- C语言 十进制数转化成十六进制代码:
- C语言十六进制转换成十进制:要从右到左用二进制的每个数去乘以16的相应次方
- 【一起来学C语言】常用进制的转换与应用(上)
- C语言--将整数n转换为以b进制的数。保存到s中
- 根据二叉树的前序遍历和中序遍历构建二叉树的c语言完整代码
- 用c语言写一个函数把十进制转换成十六进制(转)
- iOS swift 代码控制十六进制颜色转换扩展
- 【C语言】【笔试题】编写一个函数itob(int n,char s[], int b),将整数n转换为以b进制的数。保存到s中。
- 将以字符串形式给出的浮点数的十六进制形式转换成十进制形式(方法太麻烦,请各位大侠帮忙改进!)
- 将十六进制数据转换成十进制数据