十六进制转八进制(只能处理一般数据,变态数据版本稍后发)

最近写蓝桥杯的题目,有道题是将16进制转成8进制,写出来之后不通过,查看了一下题目的测试数据,我就怒了,感觉出题人很皮呀,但是辛辛苦苦写出来的代码也不是说不能用,就是对付测试数据有点。。。。。。只能说没脾气了,但是一般的数据还是能通过的,之后再将对付变态数据的代码发出来,废话不多说了,贴代码

一、代码

#include<iostream>
#include<cmath>
#include<string>
#include<vector>
using namespace std;int toDec(string str) {int len = str.length();int i = 1, dec = 0;//这里本来可以用增强for来简化代码,无奈蓝桥杯练习系统不支持for (int j = 0; j < len; j++) { //这里是将16进制转成10进制的具体方法if (str[j] >= '0' && str[j] <= '9') {dec += ((str[j] - '0') * pow(16, (len - i)));}else if ((str[j] >= 'a' && str[j] <= 'z') || (str[j] >= 'A' && str[j] <= 'Z')) {dec += ((str[j] - 'A' + 10) * pow(16, (len - i)));}i++;}return dec;
}string toOct(int num) {string s = "";while (num != 0) { //这里是将10进制转成8进制的具体方法string c = "";c += ('0' + (num % 8));s.insert(0, c);num /= 8;}return s;
}int main()
{int n;cin >> n;                     //请输入有几组数据cin.get();                    //将cin >> n后面的回车符号读取了vector<string> vs;string sbuf;while (n--) {                 //具体的输入数据getline(cin, sbuf);vs.push_back(sbuf);}for (vector<string>::iterator it = vs.begin(); it != vs.end(); ++it) {int ibuf = toDec(*it);        //先将16进制转成10进制*it = toOct(ibuf);            //再将10进制转成8进制cout << *it << endl;          //直接输出}return 0;
}

16进制转8进制(一般数据)相关推荐

  1. python 16进制转10进制, 8进制转10进制, 2进制转10进制的方法

    python 16进制转10 进制, 8进制转10进制, 2进制转10进制 可以使用系统自带的 int 方法 具体如下: value = "0x1388" result = int ...

  2. 10进制转16进制,16进制转10进制,随机出一个6位十六进制颜色值

    方案一: var num16 = "ffffff";var num10 = parseInt(num16,16);//16进制转10进制console.log(num10) // ...

  3. java 10zhuan8,Java代码 10进制转2、8、16进制转换 / 2、8、16进制转10进制转换

    public static void main(String[] args) { int i = 10; System.out.println("***********10进制转换2进制.8 ...

  4. python16进制转10进制_python 字节串及10进制,16进制相关转换

    进行协议解析时,总是会遇到各种各样的数据转换的问题,从二进制到十进制,从字节串到整数等等 整数之间的进制转换: 10进制转16进制: hex(16) ==> 0x10 16进制转10进制: in ...

  5. 关于物联网的各种转换,16进制 二进制 10进制 效验总结

    字符串插入字符 /// <summary>/// 每隔n个字符插入一个字符/// </summary>/// <param name="input"& ...

  6. 16进制数组转成10进制 qt_QT 16进制 ASII   10进制 转换

    //16进制字符串转字节数组 static QByteArray HexStrToByteArray(QString str) { QByteArray senddata;  //发送数据 int h ...

  7. 负数补码(16进制转10进制的负数)

    假如我想通过modbus tcp接收设备上传的报文,该设备显示为负数,但报文上无法解析出来(温度报文异常,负数无法显示与转换).这时候,我就需要对这个报文进行负数补码形式,16进制转10进制的负数. ...

  8. c# .net 16进制转换10进制

    业务调用 #region C#十六进制字符串转十进制 { Console.WriteLine("-----------十六进制字符串转十进制---------");//H:十六进制 ...

  9. 蓝桥杯基础之16进制、10进制、8进制、2进制换算总结

    常用函数的一些小总结 string to int(字符串转到int类型) #include<sstream> //重要的库 #include<iostream> #includ ...

  10. Java10进制转16进制,16进制转10进制

    1.Java10进制转16进制 /** 卡号位数:8 */public static byte CARD_NUM_BIT = 8;/*** isBlank * * @param value* @ret ...

最新文章

  1. memmove, memcpy 的mem魔法
  2. SQL Server 2005系列教学_用户管理
  3. jQuery之文本框得失焦点
  4. jsp访问java方法_JSP基础知识之访问JavaBean的方法
  5. 我34岁,曾月入10万,给前员工修汽车
  6. 微信公众帐号开发教程第12篇-符号表情的发送(下)
  7. MyEclipse或Eclipse中工程的导入和导出
  8. 迹中元素可交换性的证明tr(AB)=tr(BA)
  9. was控制台的用户和密码怎样加密使用_交换机密码忘记了,怎么办,密码恢复一分钟了解下...
  10. 易筋SpringBoot 2.1 | 第十七篇:SpringBoot的事务Transaction
  11. 2022考研复习第二十三周
  12. opencv 特征提取 -SIFT
  13. Linux 实现OpenSSL 服务器端客户端通信
  14. ESP32内部ADC最大采样率真的能达到2MSPS吗?答案是不能。
  15. 2023年全国最新二级建造师精选真题及答案49
  16. 贝叶斯基础理论及思想介绍
  17. Andorid实例--仿外卖APP(未完成)
  18. 带字幕的Youtube
  19. M8W2 | 每周新产品体验
  20. linux wps 运行et,在Linux系统中安装使用WPS的方法

热门文章

  1. HTML如何给网页添加icon图标?
  2. 支付宝 当面付(扫描支付) 对接逻辑
  3. Open Images Dataset V5 - Data Formats - Class Names
  4. 【网络安全】Metasploit工具
  5. java有substr方法_java substring和substr
  6. 3. ESP8266开发板自动连接室内Wi-Fi
  7. 手机当ftp文件服务器,如何利用手机搭建移动FTP服务器?
  8. 自动化测试之:python+unittest+selenium
  9. HTML-浮动(float)
  10. python实现截取视频中特定帧进行保存功能