C语言实现字符串中(10进制和16进制)转成十进制数
如何将字符串中的10进制数和16进制数提取出来,看以下代码:
#include <stdio.h> typedef char TUINT8 ; typedef int TUINT32; TUINT32 Read_DecNumber(const TUINT8* str); TUINT32 Read_HexNumber(const TUINT8* str); int main(void) { int ret = Read_DecNumber("1000"); int d = Read_HexNumber("A"); printf("将字符串中的数字转化为10进制数 :%d\n",ret); printf("将字符串中的16进制数转化为10进制数 :%d\n",d); return 0 ; } //将字符串中的数字转化为10进制数 TUINT32 Read_DecNumber(const TUINT8* str) { TUINT32 value; if (! str) { return 0; } value = 0; while ((*str >= '0') && (*str <= '9')) { value = value*10 + (*str - '0'); str++; } return value; } //将字符串中的16进制数转化为10进制数 TUINT32 Read_HexNumber(const TUINT8* str) { TUINT32 value; if (! str) { return 0; } value = 0; while (1) { if ((*str >= '0') && (*str <= '9')) { value = value*16 + (*str - '0'); } else if ((*str >= 'A') && (*str <= 'F')) { value = value*16 + (*str - 'A') + 10; } else if ((*str >= 'a') && (*str <= 'f')) { value = value*16 + (*str - 'a') + 10; } else { break; } str++; } return value; }
运行结果:
C语言实现字符串中(10进制和16进制)转成十进制数的更多相关文章
- golang中字符串、数值、2进制、8进制、16进制、10进制、日期和字符串之间的转换
package main import ( "fmt" "reflect" "strconv" "time" ) fun ...
- python中2进制、10进制、16进制等之间的转换
10转2: bin(8) # '0b1000' 2转10: int( 10转16: hex(15) # '0xf' 16转10: int( 2进制和16进制中间通过转10进制可以相互转换 from b ...
- c# 关于10进制和16进制转换以及显示
直接举例说明: int i = 15;//一个10进制数 string txt = Convert.ToString(i,16);//将上面10进制以16进制形式显示为f string s = &qu ...
- C# 2进制、8进制、10进制、16进制...各种进制间的转换(三) 数值运算和位运算
一.数值运算 各进制的数值计算很简单,把各进制数转换成 十进制数进行计算,然后再转换成原类型即可. 举例 :二进制之间的加法 /// <summary> /// 二进制之间的加法 /// ...
- C 语言实例 - 字符串中各种字符计算
C 语言实例 - 字符串中各种字符计算 C 语言实例 C 语言实例 计算字符串中的元音.辅音.数字.空白符. 实例 #include <stdio.h> int main() { ]; i ...
- C语言:将ss所指字符串中所有下标为奇数位上的字母转换成大写,若不是字母,则不转换。-删除指针p所指字符串中的所有空白字符(包括制表符,回车符,换行符)-在带头结点的单向链表中,查找数据域中值为ch的结点,找到后通过函数值返回该结点在链表中所处的顺序号,
//将ss所指字符串中所有下标为奇数位上的字母转换成大写,若不是字母,则不转换. #include <stdio.h> #include <string.h> void fun ...
- JS-011-颜色进制转换(RGB转16进制;16进制转RGB)
在网页开发的时候,经常需要进行颜色设置,因而经常需要遇到进行颜色进制转换的问题,例如:RGB转16进制:16进制转RGB),前几天在测试的时候,发现网站的颜色进制转换某类16进制颜色(例如:#0000 ...
- ( 转)Sqlserver中tinyint, smallint, int, bigint的区别 及 10进制转换16进制的方法
一.类型比较 bigint:从-2^63(-9223372036854775808)到2^63-1(9223372036854775807)的整型数据,存储大小为 8 个字节.一个字节就是8位,那么b ...
- C#中2、8、16进制 有符号转换10进制正负数
曾经让我苦想的其他进制转有符号整型问题,结果自己想到方法解决后才发现原来如此简单. 1.Int16(2个byte长度 ) : 方法 :Convert.ToInt16(进制编码,进制) a.16进制转1 ...
随机推荐
- Android Multimedia框架总结(十二)CodeC部分之OMXCodec与OMX事件回调流程
转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼yuiop:http://blog.csdn.net/hejjunlin/article/details/52629449 前言:上篇文中分析 ...
- Hadoop MapReduce工作原理
在学习Hadoop,慢慢的从使用到原理,逐层的深入吧 第一部分:MapReduce工作原理 MapReduce 角色 •Client :作业提交发起者. •JobTracker: 初始化作业,分配 ...
- SQL 数据库语言分析总结(三)
这次介绍通过mysql-WorkBench这个工具来管理操作数据库. 创建和删除数据库 1.点击创建数据库按钮 2.选中后右键,出现drop schema一项,这个用来删除. 设置默认数据库 选中右键 ...
- 3、Android构建仪表测试
不同于运行于JVM的本地单元测试,仪表测试运行于你的物理设备或虚拟机中.当你需要访问设备的信息(比如Context)或者使用真正的Android framework组件时(比如SharePrefere ...
- cocos2d-x 3.0 播放MP4视频
猴子原创,欢迎转载.转载请注明: 转载自Cocos2D开发网–Cocos2Dev.com,谢谢! 原文地址: http://www.cocos2dev.com/?p=545 很久以前写的一个2dx播放 ...
- eclipse new server Cannot create a server using the selected type 网上有两种办法,其实原理一样
eclipse new server Cannot create a server using the selected type 网上有两种办法,其实原理一样 第一种说法: 还真的找到解决的方法了, ...
- Ubuntu中firefox设置成中文
进入 http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly 按版本选择下去,帮助(help)-->关于,查看浏览器的版本号 所以,目录是3 ...
- 谈谈Ext JS的组件——组件基类:Ext.Component
概述 Ext.Component是所有Ext组件的基类,这在Ext.Component的API中第一句话就提到了.然后第二段说明了它包含的基本功能:隐藏/显示.启用/禁用以及尺寸控制等.除了以上这些基 ...
- git的撤销动作
有时候我们提交完了才发现漏掉了几个文件没有加,或者提交信息写错了.想要撤消刚才的提交操作,可以使用--amend 选项重新提交: $ git commit --amend -m"修改 提交 ...
- maven settings 配置文件
maven settings 配置文件 <?xml version="1.0" encoding="UTF-8"?> <settings xm ...