C语言进制转换相关函数
C语言进制转换相关函数
所需头文件
#include <stdio.h>
#include <string>
#include <string.h>
#include <map>
#include <iostream>using namespace std;
十进制转二进制
//十进制转二进制
string Decimal_to_Binary(int decimal, int bits)// decimal为所要转换的十进制数,bits为输出位数
{char bin[bits+2];bin[0] = '0';bin[1] = 'b';int quotient = decimal; //商int remainder = 0; //余数int i;for(i=bits+2; i>2; i--){remainder = quotient % 2;switch(remainder){case 0:{bin[i-1] = '0';break;}case 1:{bin[i-1] = '1';break;}default:{break;}}quotient = quotient / 2;}return bin;
}
十进制转八进制
//十进制转八进制
string Decimal_to_Octal(int decimal, int bits)// decimal为所要转换的十进制数,bits为输出位数
{char octal[bits+1];octal[0] = '0';int quotient = decimal; //商int remainder = 0; //余数int i;for(i=bits+1; i>1; i--){remainder = quotient % 8;switch(remainder){case 0:{octal[i-1] = '0';break;}case 1:{octal[i-1] = '1';break;}case 2:{octal[i-1] = '2';break;}case 3:{octal[i-1] = '3';break;}case 4:{octal[i-1] = '4';break;}case 5:{octal[i-1] = '5';break;}case 6:{octal[i-1] = '6';break;}case 7:{octal[i-1] = '7';break;}default:{break;}}quotient = quotient / 8;}return octal;
}
十进制转十六进制
//十进制转十六进制
string Decimal_to_Hexadecimal(int decimal, int bits)// decimal为所要转换的十进制数,bits为输出位数
{char hexadecimal[bits+2];hexadecimal[0] = '0';hexadecimal[1] = 'x';int quotient = decimal; //商int remainder = 0; //余数int i;for(i=bits+2; i>2; i--){remainder = quotient % 16;switch(remainder){case 0:{hexadecimal[i-1] = '0';break;}case 1:{hexadecimal[i-1] = '1';break;}case 2:{hexadecimal[i-1] = '2';break;}case 3:{hexadecimal[i-1] = '3';break;}case 4:{hexadecimal[i-1] = '4';break;}case 5:{hexadecimal[i-1] = '5';break;}case 6:{hexadecimal[i-1] = '6';break;}case 7:{hexadecimal[i-1] = '7';break;}case 8:{hexadecimal[i-1] = '8';break;}case 9:{hexadecimal[i-1] = '9';break;}case 10:{hexadecimal[i-1] = 'a';break;}case 11:{hexadecimal[i-1] = 'b';break;}case 12:{hexadecimal[i-1] = 'c';break;}case 13:{hexadecimal[i-1] = 'd';break;}case 14:{hexadecimal[i-1] = 'e';break;}case 15:{hexadecimal[i-1] = 'f';break;}default:{break;}}quotient = quotient / 16;}return hexadecimal;
}
二进制转十进制
//二进制转十进制
int Binary_to_Decimal(char Binary[])// decimal为所要转换的二进制数,输入时加上前缀“0b”
{int length = strlen(Binary);int i;int decimal = 0;for(int i=2; i<length; i++){decimal = decimal * 2;switch(Binary[i]){case '0':{break;}case '1':{decimal = decimal + 1;break;}default:{break;}}}return decimal;
}
八进制转十进制
//八进制转十进制
int Octal_to_Decimal(char Octal[])// decimal为所要转换的二进制数,输入时加上前缀“0”
{int length = strlen(Octal);int i;int decimal = 0;for(int i=1; i<length; i++){decimal = decimal * 8;switch(Octal[i]){case '0':{break;}case '1':{decimal = decimal + 1;break;}case '2':{decimal = decimal + 2;break;}case '3':{decimal = decimal + 3;break;}case '4':{decimal = decimal + 4;break;}case '5':{decimal = decimal + 5;break;}case '6':{decimal = decimal + 6;break;}case '7':{decimal = decimal + 7;break;}default:{break;}}}return decimal;
}
十六进制转十进制
//十六进制转十进制
int Hexadecimal_to_Decimal(char Hexadecimal[])// decimal为所要转换的二进制数,输入时加上前缀“0x”
{int length = strlen(Hexadecimal);int i;int decimal = 0;for(int i=2; i<length; i++){decimal = decimal * 16;switch(Hexadecimal[i]){case '0':{break;}case '1':{decimal = decimal + 1;break;}case '2':{decimal = decimal + 2;break;}case '3':{decimal = decimal + 3;break;}case '4':{decimal = decimal + 4;break;}case '5':{decimal = decimal + 5;break;}case '6':{decimal = decimal + 6;break;}case '7':{decimal = decimal + 7;break;}case '8':{decimal = decimal + 8;break;}case '9':{decimal = decimal + 9;break;}case 'a':{decimal = decimal + 10;break;}case 'b':{decimal = decimal + 11;break;}case 'c':{decimal = decimal + 12;break;}case 'd':{decimal = decimal + 13;break;}case 'e':{decimal = decimal + 14;break;}case 'f':{decimal = decimal + 15;break;}default:{break;}}}return decimal;
}
C语言进制转换相关函数相关推荐
- c语言进制转换pdf下载,C语言实现任意进制转换.doc
C语言实现任意进制转换.doc includestdio.h#includemath.h#includestring.hvoid dtox(double num,int jz)char xnum100 ...
- 学习笔记7-C语言-进制转换、原返补、位运算、函数
进制转换 为什么要使用二.八进制.十六进制?因为现在的CPU只能识别高低两种电流,因此只能对二进制数据进行运算二进制数据虽然可以直接被cpu识别,但不方便人们书写.记录,所以把二进制数据转换成八进制是 ...
- c语言进制转换实验报告,c语言_各种进制转换.docx
c语言_各种进制转换.docx c 语言 各种进制转换 计算机中常用的数的进制主要有二进制.八进制.十六进制. 2 进制,用两个阿拉伯数字0.1: 8 进制,用八个阿拉伯数字0.1.2.3.4.5.6 ...
- 数据结构c语言进制转换八进制,C语言数据结构中数制转换实例代码
C语言数据结构中数制转换实例代码 数制转换是严蔚敏的数据结构那本书中的例子,但是那本书中的例子大都是用伪代码的形式写的,不是很容易理解和实现,对初学者造成了不小的困扰,在这里我们将其详尽的实现出来,以 ...
- C语言 进制转换(1-16进制)
先输入需要转化的进制,再输入若干个需要转化的数(以0和负数结尾) 具体代码如下 #include <stdio.h> int main( ) { int n,m;int i, a[12]; ...
- 进制转换小数c语言代码,C语言进制转换小数负数皆可 代码求解释
满意答案 #include void fun1(long a)//输出二进制数 { long p; if(a>0) { p=a%2;//取余 fun1(a/2);//递归取余 printf(&q ...
- c语言进制转换pdf下载,C语言 十六进制和十进制间的转换.pdf
1.将十六进制转换为十进制. #include #include int main(void){ int convert(int,char *); int i,j ; char m[20]; prin ...
- C语言进制转换时自动扩展位?(原码、反码、补码)(打印%o、%x时会自动扩展到32位【负数先得到其十进制真实数值,再根据其真实数值得到八进制、十进制补码】)
文章目录 解析(char a = 0x81) 注意 解析(int b = 0x81) 解析(char c = -12) 懵逼
- c语言变量名必须用小写 常量用大写,day02 -C语言 常量 变量 数据类型 进制转换 数据溢出...
常量 - 不会变化的数据 "hello" 'A' 10 3.14 #define PI 3.14 //采用宏定义的方法 定义一个常量 const int a = 10; 求圆的面积 ...
- c语言中10转8和16的转换,(C语言)10进制转换2,8,16进制
(C语言)10进制转换2,8,16进制 作者:vinseven #include"stdio.h" #include"conio.h" #include&quo ...
最新文章
- 增加一列为主键 oracle,给oracle数据库增加一列做主键,增加一个sequence,数据库怎么获得主键。...
- 编程软件python中的if用法-python 函数式编程工具
- 2019年四月计算机语言排名,2019编程语言排行榜_编程语言排行榜2019年4月 TIOBE编程语言排行榜2019年最...
- 关于jQuery.click()函数
- Flink解析kafka canal未压平数据为message报错
- 机器人暮色枪骑皮肤_吃鸡幸运新转盘:新载具皮肤和纸盒武器皮肤!
- 使用一个for循环将N*N的二维数组的所有值置1
- 选offer的5个维度
- 学习C/C++的经验谈
- jsp中使用ueditor
- 最新黑马java十次方社交项目教程
- 「缠师课后回复精选」第9课 甄别“早泄”男的数学原则!
- 特征工程之特征选择(3)----F检验和互信息法
- windows 无法格式化SD卡
- 生信文献学习(part1)--PRECISE: a ... approach to transfer predictors of drug response from pre-clinical ...
- 修改360抢票的刷新频率+突破8车次限制
- 如何求First集与Follow集(超详细)
- ubuntu1804 3dm-gx5-25
- 路由怎么变无线打印服务器,普通打印机如何变身无线打印?
- 物联计算机大赛,“翼灵杯”第七届物联网创意大赛成功举办