进制转换:十六进制转八进制、十六进制转十进制
在十六进制转为八进制的过程中包含了将十六进制转化为二进制以及将二进制转化为八进制!
我自己测试是没什么问题,但是在蓝桥杯官网的测试系统就显示运行错误qwq
不知道为什么
附代码:
#include<iostream>
#include<string.h>
using namespace std;
int main()
{string code1(char p);string code2(char a,char b,char c);int i,n,j,flag;cin>>n;string sixteen[n],two[n],eight[n];char twoo[n][1000],eightt[n][1000];int len1[n],len2[n];for(i=0;i<n;i++)cin>>sixteen[i];for(i=0;i<n;i++){len1[i] = sixteen[i].length();for(j=0;j<len1[i];j++)two[i] = two[i] + code1(sixteen[i][j]);len2[i] = two[i].length();for(j=0;j<=len2[i];j++)twoo[i][j] = two[i][j];if(len2[i]%3==1){for(j = len2[i]+1;j>=0;j--)twoo[i][j] = twoo[i][j-2];twoo[i][1] = twoo[i][0] = '0';}if(len2[i]%3==2){for(j = len2[i];j>=0;j--)twoo[i][j] = twoo[i][j-1];twoo[i][0] = '0';}for(j=0;j<len2[i];j=j+3)eight[i] = eight[i] + code2(twoo[i][j],twoo[i][j+1],twoo[i][j+2]); for(j=0;j<len2[i];j++)eightt[i][j] = eight[i][j];for(j=0;j<eight[i].length();j++)if(eight[i][j]!='0'){flag = j;break;}for(j=flag;j<eight[i].length();j++)cout<<eight[i][j]; cout<<endl; } return 0;
}string code2(char a,char b,char c)
{if(a=='0'&&b=='0'&&c=='0') return("0");if(a=='0'&&b=='0'&&c=='1') return("1");if(a=='0'&&b=='1'&&c=='0') return("2");if(a=='0'&&b=='1'&&c=='1') return("3");if(a=='1'&&b=='0'&&c=='0') return("4");if(a=='1'&&b=='0'&&c=='1') return("5");if(a=='1'&&b=='1'&&c=='0') return("6");if(a=='1'&&b=='1'&&c=='1') return("7");
}string code1(char p)
{if(p == '0') return("0000");if(p == '1') return("0001");if(p == '2') return("0010");if(p == '3') return("0011");if(p =='4') return("0100");if(p == '5') return("0101");if(p == '6') return("0110");if(p == '7') return("0111");if(p == '8') return("1000");if(p == '9') return("1001");if(p == 'A') return("1010");if(p == 'B') return("1011");if(p == 'C') return("1100");if(p == 'D') return("1101");if(p == 'E') return("1110");if(p == 'F') return("1111");
}
还有十六进制转化为十进制的,这个就比较简单了
#include<stdio.h>
#include<string.h>
#include<math.h>
int main()
{long long sum=0;char pp[100];scanf("%s",&pp);int len; len = strlen(pp);for(int i=0;i<len;i++){if(pp[i]>='0'&&pp[i]<='9')sum = sum + (pp[i]-48)*pow(16,len-i-1);if(pp[i] == 'A')sum = sum + 10*pow(16,len-i-1);if(pp[i] == 'B')sum = sum + 11*pow(16,len-i-1);if(pp[i] == 'C')sum = sum + 12*pow(16,len-i-1);if(pp[i] == 'D')sum = sum + 13*pow(16,len-i-1);if(pp[i] == 'E')sum = sum + 14*pow(16,len-i-1);if(pp[i] == 'F')sum = sum + 15*pow(16,len-i-1);} printf("%I64d",sum);return 0;}
最近一直在划水,我的300元报名费要打水漂了呜呜呜
进制转换:十六进制转八进制、十六进制转十进制相关推荐
- C# 进制转换(二进制、十六进制、十进制互转)
C# 进制转换(二进制.十六进制.十进制互转) 二进制转十进制数 string i = "0010"; Console.WriteLine(Convert.ToInt32(i,2) ...
- 进制转换二进制转八进制_将二进制数制转换为八进制数制
进制转换二进制转八进制 Prerequisite: Number systems 先决条件: 数字系统 To convert binary numbers into octal numbers, we ...
- php 二进制 十六进制转换,php 实现进制转换(二进制、八进制、十六进制)互相转换实现代码...
十进制转换为二进制.八进制.十六进制 从十进制向其它进制转换,用的是就用该数字不断除以要转换的进制数,读取余数.连接一起就可以了. 复制代码代码如下: /** *十进制转二进制.八进制.十六进制 不足 ...
- 计算机系统基础知识——进制转换(二进制、八进制、十进制、十六进制)
前言:计算机系统中常用的进位数制有二进制.八进制.十进制.十六进制,对于任何一种进位数制,其表示的数都可以写成按权展开的 多项式. 1. 十进制与二进制的相互转换 1.1 十进制转二进制 十进制数 ...
- php八进制十六进制,php 实现进制转换(二进制、八进制、十六进制)互相转换实现代码...
十进制转换为二进制.八进制.十六进制 从十进制向其它进制转换,用的是就用该数字不断除以要转换的进制数,读取余数.连接一起就可以了. 复制代码代码如下: /** *十进制转二进制.八进制.十六进制不足位 ...
- K进制转换:二进制与十六进制
程序设计与算法(一)C语言程序设计_北京大学_中国大学MOOC(慕课) 学习笔记 一.K进制转换 1.整数转换 (1)已知K进制数求数: n+1位的K进制数:AnAn-1An-2...A2A1A0 大 ...
- 进制转换 | 二进制、八进制、十进制、十六进制 互相转换方法|以及介绍
目录 二进制介绍: 1. 二进制转换为十进制方法: 2.十进制转换为二进制的方法: 十六进制介绍: 1.二进制转换为十六进制: 2.十六进制转换为二进制: 八进制介绍: 1.八进制转十进制: 2.十进 ...
- 进制转换 二进制,八进制,十进制,十六进制互转
什么是'次幂' 某数的次幂即为某数的次方,即某数与本身相乘*次 概念:2的0次幂是1 2的1次幂是2 2的2次幂是2✖2 2的3次幂是2✖2✖2 2的4次幂是2✖2✖2✖2 如10的5次幂=10✖10 ...
- 【进制转换】如何使用C++将一个十进制数转为16进制?
题目 题目描述 请从键盘读入一个非负整数n(n是一个不超过18位的正整数),将n转换为16进制! 注意:16进制即逢16进1,每一位上可以是从小到大为0.1.2.3.4.5.6.7.8.9.A.B.C ...
- kotlin 16进制_Kotlin程序将八进制数转换为十进制数
kotlin 16进制 Given a number in octal number system format, we have to convert it into decimal number ...
最新文章
- flexnet licensing 启动多个服务_又小又灵巧,浪潮边缘计算服务器获深度评测高分...
- 41、应用如何签名以及签名的意义(转载)
- 字符驱动之按键(一:无脑轮询法)
- math_functions
- 一个简单的单例模式的类
- mysql 触发器示例_MySQL触发器示例
- 安装npm_Npm安装包的版本号是如何更新的?
- 计算机图形学E9——裁剪——固定矩形窗口裁剪多边形(凸多边形/凹多边形)
- Docker安装Tomcat7
- 编程获取中国股市行业分类并作图--使用python、tushare、pyecharts实现
- c语言实验报告字符数组,C语言实验报告《数组》
- 面试官:你觉得扫码登录应该怎么实现?
- YouTube批量下载开源代码汇总
- 基于SSM框架的志愿者管理系统
- 5g消息与服务器,5G消息app下架 中国移动回应会重新上架
- 2021-04-06人事老李走了
- CDA数据分析师level2(模拟题考点记录)
- linux 计算程序运行时间
- 纪中9日游(2019.7.5~7.13)
- linux系统命令作业
热门文章
- 怎样用PS制作8张一寸照片
- 三菱四节传送带控制梯形图_四节传送带PLC控制课程设计.doc
- matlab第8章,第8章++MATLAB数值积分与微分.ppt
- 记账后,如何避免误删除账目
- Google play ASO 关键字指南
- TCPA:肿瘤RPPA蛋白芯片数据中心
- Flutter - dio 简单二次封装
- 国科大沈阳计算机所读研排位,考研录取全国前五,保研清北国科大60名,这所211开挂了...
- 在Android上用PHP编写应用- PFA初探
- Generative Adversarial Nets 生成对抗网络