转自:https://blog.csdn.net/wangjunchengno2/article/details/78690248

strtol 函数:

它的功能是将一个任意1-36进制数转化为10进制数,返回是long int型。

函数为long int strtol(const char *nptr, char **endptr, int base)

base是要转化的数的进制,非法字符会赋值给endptr,nptr是要转化的字符,例如:

char buffer[]="10379cend$3";
char *stop;
printf("%d\n",strtol(buffer, &stop, ));
printf("%s\n", stop);

输出结果:
543
9cend$3

将一个8进制转化为10进制,读取1037,其他后面的为非法字符,转化结果以int型输出来。

另外,如果base为0,且字符串不是以0x(或者0X)开头,则按十进制进行转化。如果base为0或者16,并且字符串以0x(或者0X)开头,那么,x(或者X)被忽略,字符串按16进制转化。如果base不等于0和16,并且字符串以0x(或者0X)开头,那么x被视为非法字符。

最后,需要说明的是,对于nptr指向的字符串,其开头和结尾处的空格被忽视,字符串中间的空格被视为非法字符。

c++中还有一些定向的转换:

std::bitset(转2进制),std::oct(转8进制),std::dec (转10进制),std::hex(转16进制)。

#include <bitset>
#include <iostream>
using namespace std;
int main()
{
cout << "36的8进制:" << std::oct << << endl;
cout << "36的10进制" << std::dec << << endl;
cout << "36的16进制:" << std::hex << << endl;
cout << "36的2进制: " << bitset<>() << endl;
return ;
}

c++ 进制转换函数的更多相关文章

  1. php进制转换函数

    1 十进制(decimal system)转换函数 ① 十进制转二进制 string  decbin(int number). 参数为一个十进制整型数字,不是整型数字会自动转为整型数字,如'3'转为3 ...

  2. 写一个比较全的进制转换函数--ic

    //写一个比较全的进制转换函数-----未完成 #include <stdio.h> //D进制转换后 (比如10-2进制) 结果可能会很大 需要很长的字符串来存 #include < ...

  3. Python中进制转换函数的使用

    Python中进制转换函数的使用 关于Python中几个进制转换的函数使用方法,做一个简单的使用方法的介绍,我们常用的进制转换函数常用的就是int()(其他进制转换到十进制).bin()(十进制转换到 ...

  4. C++中的各种进制转换函数汇总

    C++中的各种进制转换函数汇总 1.在C中,按指定进制格式输出如下: #include <iostream> #include <cstdio> using namespace ...

  5. SQL Server 进制转换函数

    一.背景 前段时间群里的朋友问了一个问题:“在查询时增加一个递增序列,如:0x00000001,即每一个都是36进位(0—9,A--Z),0x0000000Z后面将是0x00000010,生成一个像下 ...

  6. Python内置进制转换函数(实现16进制和ASCII转换)

    在进行wireshark抓包时你会发现底端窗口报文内容左边是十六进制数字,右边是每两个十六进制转换的ASCII字符,这里使用Python代码实现一个十六进制和ASCII的转换方法. hex() 转换一 ...

  7. C++中的各种进制转换函数汇总及学习

    一.指定格式输出 1.C中指定格式输出 printf(); //按八进制格式输出,保留5位高位补零 printf(); //按十进制格式输出,保留3位高位补零 printf(); //按十六进制格式输 ...

  8. chr()//ord() //进制转换函数//eval()//文件函数//split()

    1.chr() 函数 chr() 用一个范围在 range(256)内的(就是0-255)整数作参数,返回一个对应的字符. 用法:chr(i) i可以是10进制也可以是16进制的形式的数字. 2.or ...

  9. delphi 中字符串与16进制、10进制转换函数

      //字符串转成16进制代码function strToHexStr(str:string):string;varc:char;ss:string;i:integer;beginwhile str& ...

随机推荐

  1. div 和 span 标记

    div 一般和 css 配合使用  <div>是一个块元素 span  也是和 css 配合使用 <span>是一个行内元素 标记嵌套是  一般是块元素嵌套行内元素 1 块元素 ...

  2. varStatus实现<c:forEach获取元素的下标 集合长度

    有时候需要获取元素的下标,来实现一个编号的效果 那么使用 varStatus可以实现 代码 效果 如果需要把序号倒着数 那就用集合的长度减去当前下标 首先引入 <%@ taglib prefix ...

  3. 使用Windows任务计划程序和Python备份Mysql数据库

    目标:每日定时自动备份Mysql数据库 方案: 1.安装Python: 使用的Python版本是Python3.7.1,下载地址:https://www.python.org/downloads/re ...

  4. ES6之数值的扩展学习

    引自:http://es6.ruanyifeng.com/#docs/number 二进制和八进制表示法 ES6 提供了二进制和八进制数值的新的写法,分别用前缀0b(或0B)和0o(或0O)表示. 0 ...

  5. python 拷贝某个文件到另一个目录下

    python的shutil包含有很多文件拷贝的函数,各种各样的,要实现我文章题目的目的,使用shutil.copy函数即可 shutil.copy(文件的路径,另一个目录)

  6. [UVA12235] Help Bubu 思维题+状态定义+Dp

    Online Judge:UVA12235 Label:思维题,状态定义,状压Dp 题面: 题目描述 有一个书架,上面放了n本书,从左往右的第i本书的高度为h[i].定义书架的混乱度为连续等高段的个数 ...

  7. _itoa _itow _itot atoi atof atol

    函数原型: char *_itoa( int value, char *string, int radix ); //ANSI wchar_t * _itow( int value, wchar_t ...

  8. 物理机多磁盘u盘安装centos

    材料:一枚u盘,一块120G固态硬盘和一块500G的硬盘的华硕笔记本电脑,原系统为windows10 需求:将centos7.5系统安装到固态硬盘,原系统不要了 遇到的问题:开机后进入不了装机界面 解 ...

  9. win 7下安装mysql zip格式

    mysql 下载地址:https://dev.mysql.com/downloads/mysql/5.5.html#downloads 下载的mysql格式为zip: 下载完成放在除C盘以外的盘. 一 ...

  10. 加载框(loading)

    一般在用户提交数据或者新加载页面时,请求服务器的过程,页面没有响应,但是用户并不知道,此时在发生什么.这时,就需要loading框给用户提示,增加用户体验. 1.引入loading.css. html ...