c 字符串转数字_C语言实现十进制转216进制、十六进制转十进制
1、十进制转2~16进制
【问题描述】从键盘输入十进制整数num及转换的进制数base,将整数num转换为base进制(base取值范围为 2~16)。
方法为:十进制数除base取余法,即十进制数除以base,余数为权位上的数,得到的商值继续除以base,依此步骤继续向下运算直到商为0为止。
源程序:
#include
void trans(int data, int base)
{
int x[64],k,i=0;
while(data)
{
x[i]=data%base;
data/=base;
i++;
}
for(k=i-1;k>=0;k--)
if(x[k]<10)
printf("%d", x[k]);
else if(x[k]<=16)
printf("%c", 'A'+x[k]-10);
}
int main(void)
{
int num,base;
scanf("%d%d", &num, &base);
if(base<=0||base>16)
{
printf("data error\n");
return;
}
printf("number=%d base=%d\n",num,base);
trans(num,base);
printf("\n");
return 0;
}
2、十六进制转十进制
【问题描述】输入一个字符串,取出该字符串中的十六进制字符(不分大小写)组成一个新的表示十六进制数的字符串,输出该字符串并将其转换成十进制数后输出。
方法为:十六进制数由数字0~9、字母A~F(或a~f)组成。把十六进制数按权展开、相加即得十进制数。
源程序:
#include
#include
int main(void)
{
char s[20],hex[20];
int i,j,num;
gets(s);
/* 取出字符串中的十六进制字符 */
for(i=0,j=0;s[i]!='\0';i++)
{
if(s[i]>='0'&&s[i]<='9'||s[i]>='A'&&s[i]<='F'||s[i]>='a'&&s[i]<='f')
{
hex[j]=s[i];
j++;
}
}
hex[j]='\0';
printf("Hexadecimal String: ");
puts(hex);
/* 十六进制转十进制 */
num=0;
for(i=0;hex[i]!='\0';i++)
{
if(hex[i]>='0'&&hex[i]<='9')
num=num*16+hex[i]-'0';
else if(hex[i]>='A'&&hex[i]<='F')
num=num*16+hex[i]-'A'+10;
else if(hex[i]>='a'&&hex[i]<='f')
num=num*16+hex[i]-'a'+10;
}
printf("Decimal number=%d\n",num);
return 0;
}
c 字符串转数字_C语言实现十进制转216进制、十六进制转十进制相关推荐
- python二进制转十进制算法_python进制转换:十进制转二进制的用法
我们在学习python时候肯定会碰到关于进制转换,其实这是非常简单的,这个就像小学学习数学乘法口诀意义,只要记住转换口诀即可轻松应用,一起来看下具体的操作内容吧~ 一.python进制转换 dec(十 ...
- 十进制转为任意进制,发糖果
问答题 问答题1:下列指令运行的结果为? int a[5] = {1,3,5,7,9}; int *p = (int *)(&a+1); printf("%d,%d",*( ...
- 数字字符串转为数字 C语言实现
数字字符串转为数字 C语言实现 在Java中经常用到一个操作,数字字符串转为数字,Integer.parseInt()方法给出来满意的解决方法,但是C语言怎么实现呢,其实也有方法,先买个关子,其实我想 ...
- **c语言八进制转换为十进制or十进制转换为8进制**
c语言八进制转换为十进制or十进制转换为8进制 1.c语言八进制转换为十进制 ```c #include<stdio.h> int main() { char *p,s[20];int n ...
- c++语言将任意进制转化10进制,C++ 基础编程之十进制转换为任意进制及操作符重载...
C++ 基础编程之十进制转换为任意进制及操作符重载 最近学习C++ 的基础知识,完成十进制转换为任意进制及操作符重载,在网上找的不错的资料,这里记录下, 实例代码: #include #include ...
- C语言教程:十进制转换任意进制
十进制转其他进制:是将十进制除于多少进制,取余:最后倒数排列即可. #include "stdio.h" #include "stdlib.h" #define ...
- C语言十进制转换为其他进制(二进制图解+代码)
十进制转二进制(画图): 十进制28转二进制的结果是将余数反过来写:11100 (做题遇到要求十进制转六进制,举例如下)十进制转六进制同理,先通过模6求余数,再通过除求商,继续往下模除,直到商为0,结 ...
- 十进制到M进制-C语言
//十进制到M进制 #include <stdio.h> #include <string.h> #define M 2 void DToM(int d, int m, cha ...
- Java算法学习:java进制转换(十进制转八进制,十进制转二进制,十六进制转八进制)
java进制转换(十进制转八进制,十进制转二进制,十六进制转八进制) 这几天在复习C语言的数据结构栈和队列那一章的时候,看到利用栈的特性FILO实现的进制转换十分简洁 想起了java中实现栈的操作十分 ...
最新文章
- centos 安装 rabbitMq
- sql语句字符串处理大全
- 2010年第一届蓝桥杯省赛 —— 第二题
- 8086汇编-实验3-编程、编译、链接、跟踪
- 漫画|你还记得原生的JDBC怎么连接数据库吗?
- php模拟登录qq邮箱_PHP 利用QQ邮箱发送邮件的实现
- Oracle根据年份分组
- node mysql 增删改查_Nodejs操作MySQL - 增删改查
- 禁止存放到内存_暴雨 ! 神木能源局:关于煤炭运输及存放的通告
- 相机内参中cx cy_Opencv中的两种去畸变函数
- sed中支持变量的处理方法
- js 打印数组_Node.js系列二 - Node基础知识
- rocketmq 消息 自定义_rocketmq中的自定义消息头
- sklearn 神经网络_DeepLearning学习(二):浅层神经网络
- 勘测定界坐标交换格式文本文件转换成 shapefile 格式
- vue路由守卫的执行顺序
- Mybatis一发入魂
- 求职应聘面试常见问题回答技巧
- 哪个论文查重软件能保证查重效果?
- markdwon常用格式
热门文章
- 解决github无法访问的问题
- linux修改文件句柄数生效_修改Linux的open files参数是,立即生效,无需重启
- for each java_Java 实例 - for 和 foreach循环使用
- spring整合dubbo和springboot整合dubbo,实现服务暴露区别
- 沟通模型包含5个状态
- 数据库垂直拆分和水平拆分
- ASP.NET Core 2.2+Quartz.Net 实现Web定时任务
- 关于HTTP和HTTPS的区别
- const没define好用 php,3分钟短文|PHP 定义常量,我该用define还是const?这下不迷茫了...
- linux5.4无法远程,利用Xmanager_在RedHat5.4下实现Linux远程桌面