八进制数字字符转化为十进制详解
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int fun( char *p )
{ int n;n=*p-'0';p++; ///还有就是要注意指针值的变化while( *p!=0 ) {n=n*8+*p-'0';p++;}return n;
}
main()
{ char s[6]; int i; int n;printf("Enter a string (Ocatal digits): "); gets(s);if(strlen(s)>5){ printf("Error: String too longer !\n\n");exit(0); }for(i=0; s[i]; i++)if(s[i]<'0'||s[i]>'7'){ printf("Error: %c not is ocatal digits!\n\n",s[i]);exit(0); }printf("The original string: "); puts(s);n=fun(s);printf("\n%s is convered to integer number: %d\n\n",s,n);
}
/*解释一下:
下面主函数可以看懂:
就是上面的转化函数不太明白:
1.首先理解一下八进制转化为十进制,是数字形式的转化,但是在计算机中数字字符都是按照acsii
的形式存储的,所以说首先要将数字字符的ascii码转化为数字,代码就是 n=*p-'0';
2.转化成数字成功之后就是将指针的地址指向下一个数组的值的地址 p++;
然后就是去判断,将输入发的几个数字字符都转化为十进制数字之后,再整体结合成一个完整的十进制数要清楚的两点是:1.数字字符(ascii)转化为数字 n=*p-'0';2.其他进制转化为为十进制的算法 n=n*8+*p-'0';
*/
八进制数字字符转化为十进制详解相关推荐
- java中带符号十六进制转换成十进制详解
java中带符号十六进制转换成十进制详解 代码如下 代码如下 必须拿ffff进行测试,否则测不出异同 public void test1(){String strHex="ffff" ...
- C 将任意八进制数转化为十进制
C语言实现八进制数到十进制的转化 使用C语言将一个八进制数转化为十进制数,用户根据提示输入一个任意的八进制数,程序将八进制数转化为十进制数并进行输出显示. 完整代码 #include<stdio ...
- 十进制整数转化为二进制详解
要想编写十进制转化成二进制的带码首先要清楚十进制转化成二进制的算法,下面我们从两个方面实现这个转化: 1.按照十进制转化成十进制的常规算法实现: 普通算法实现: 我们举一个简单的例子,比如取整数52 ...
- c语言中二进制转十进制详解
1.字符与字符代码 字符与字符代码并不是任意写一个字符,程序都能识别的.例如代码圆周率的π在程序中是不能被识别的,只能使用系统的字符集中的字符,目前大多数系统采用ASCII字符集. ...
- 经典例题:十六进制转换十进制详解 适合初学者
任务描述 字符串转换成十进制整数. 输入一个以 # 结束的字符串,滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,然后将其转换为十进制数后输出.如果过滤后字符串的首字符为 ...
- 二进制转换八进制图解_二进制、八进制和十六进制之间转换详解
我们平时使用的数字都是由 0~9 共十个数字组成的,例如 1.9.10.297.952 等,一个数字最多能表示九,如果要表示十.十一.二十九.一百等,就需要多个数字组合起来. 例如表示 5+8 的结果 ...
- Yolov3转化Caffe框架详解
前些日子因工程需求,需要将yolov3从基于darknet转化为基于Caffe框架,过程中踩了一些坑,特在此记录一下. 1.Yolov3的网络结构 想要转化为Caffe框架,就要先了解yolov3的网 ...
- c++-printf详解
printf返回值 int printf ( "格式化字符串",输出表列);//原型 正确返回输出的字符总数,错误返回负值,与此同时,输入输出流错误标志将被置值,可由指示器ferr ...
- 计算机数制详解及相互转换(二进制、八进制、十进制、十六进制)
计算机数制详解及相互转换(二进制.八进制.十进制.十六进制) 前言 一.计算机中常用的数制 1.二进制 2.八进制 3.十进制 4.十六进制 二.数制转换 1.十进制转二进制 2.二进制转十进制 3. ...
最新文章
- Java并发基础:了解无锁CAS就从源码分析
- [JSOI2008]星球大战 并查集
- 1.一些 贪心算法 的简单思维题:
- 【原创】实现日、周、月排行统计
- docker 部署mysql服务之后,执行sql脚本
- How Many Replication Method In SAP HANA
- 非常值得一看—九种滤波算法C语言实现
- android NDK c++ library
- Android应用开发——文件目录
- 【Android XMPP】 学习资料收集贴(持续更新)
- c语言异或 反汇编,[原创]qq反汇编日志(1,2,3,4)
- python 03day上--网络基础及dos命令
- 无人机影像的植被覆盖度、叶面积指数估算
- 结构化程序设计方法和面向对象程序设计方法的区别
- OpenStack基金会更名,开源基础设施开启新十年
- 共阳极管的代码_共阳极数码管显示数字程序的进化
- SAP 货物移动相关Bapi
- multipartfile转excel_MultipartFile解析Excel
- chrome 显示IP地址
- 需求分析挑战之旅(疯狂的订餐系统)(1)——某IT公司员工的吃饭问题
热门文章
- Python pandas.DataFrame.kurt函数方法的使用
- H5页面微信分享流程和实现(uni-app)
- 企业如何把网站推广做好,实现品牌宣传
- DRG专业分组器-预分组在医院DRG付费政策执行过程中的作用(分组器+前置控制)支持中国所有使用DRG付费城市,准确率接近100%
- 悬浮球(多机型悬浮窗权限设置,状态栏适配,可自动或手动设置大小,点击跳转WebView,拖拽处理)
- SSM-MyBatis深层了解(使用注解开发和SQL构建对象)
- 小程序固定底部悬浮输入框,跟随键盘移动解决方案
- vue项目debugger调试看不到源码
- 易撰怎么提高原创度软件v.1.2.3
- JAVA程序连连看的项目总结,JAVA课程设计连连看游戏的开发