进制数与字符串之间的转换
写在前面:
本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。
目录
- 一、C/C++标准库执行
- 1、字符串转数字
- 2、数字格式化为字符串
- 二、非标实现
- 1、十进制数字字符串转数值
- 2、十六进制数字字符串转数值
- 3、二、八、十进制间转换,以十进制方式显示
- 4、整形数字转字符串
- 5、浮点型数字转字符串
- 三、其他转换
- 1、大小端之间的转换
一、C/C++标准库执行
1、字符串转数字
需包含头文件 #include <stdlib.h>
double atof(const char *str) :把参数 str 所指向的字符串转换为一个浮点数(类型为 double 型)。
int atoi(const char *str) :把参数 str 所指向的字符串转换为一个整数(类型为 int 型)。
long int atol(const char *str) :把参数 str 所指向的字符串转换为一个长整数(类型为 long int 型)。
double strtod(const char *str, char **endptr) :把参数 str 所指向的字符串转换为一个浮点数(类型为 double 型),并检查结果是否溢出,如果 endptr 不为空,则返回字符串不能转换部分的地址。
long int strtol(const char *str, char **endptr, int base) :把参数 str 所指向的字符串转换为一个长整数(类型为 long int 型),并检查结果是否溢出,如果 endptr 不为空,则返回字符串不能转换部分的地址。
unsigned long int strtoul(const char *str, char **endptr, int base) :把参数 str 所指向的字符串转换为一个无符号长整数(类型为 unsigned long int 型),并检查结果是否溢出,如果 endptr 不为空,则返回字符串不能转换部分的地址。
2、数字格式化为字符串
需包含头文件 #include <stdio.h>
int sprintf(char *str, const char *format, …) :发送格式化输出到字符串 str 中。
int snprintf(char *str, size_t size, const char *format, …) :格式字符串并输出 size 个字符长度到 str 中。
两者的唯一区别是 snprintf()函数多了个 size – 拷贝字节数(Bytes),并且给其后添加一个字符串结束符
\0
;除此之外,它们所支持的格式化符号都是一样的;format 标签属性是%[flags][width][.precision][length]specifier
。支持以下格式说明符(specifier):specifier(说明符) 输出 c 字符 d 十进制数 e 使用 e 字符的科学科学记数法(尾数和指数) f 十进制浮点数 o 有符号八进制 s 字符串输出到缓冲区,不转换 x 十六进制数(小写字母) X 十六进制数(大写字母) p 指针地址 % 输出百分比符号,不转换
二、非标实现
先来认识一下进制数的表示方式:
二进制(B,Binary),八进制(O,Octal) 十进制(D,Decimalist),十六进制(H,Hex)
1、十进制数字字符串转数值
2、十六进制数字字符串转数值
3、二、八、十进制间转换,以十进制方式显示
注意:参数 2、3中的进制的基数必须其中一个为基数 10。
4、整形数字转字符串
5、浮点型数字转字符串
三、其他转换
1、大小端之间的转换
大小端的知识可以看:https://blog.csdn.net/qq_42992084/article/details/104957438
进制数与字符串之间的转换相关推荐
- MFC中将用户输入的表示16进制数的字符串转换成16进制数输出显示(包含1.wstring转成string的方法函数2.用boost库拆分字符串的函数3.字符转16进制数值的函数)
前期准备: 1.电脑中安装好boost库,我的电脑中安装在C盘根目录下,如下图所示: 2.配置好boost环境变量,如下图所示: 3.开发环境VS2015,工程为MFC应用程序 需要的头文件如下: # ...
- byte数组转字符串_VS2012 C# 16进制数与字符串的互换
#编程基础##我要上头条# 一.字符串转换为16进制字节数组的步骤 1.将字符串按每两个字符拆分并插入逗号为分隔符: 2.将拆分后的字符串分离为字符串数组: 3.将字符串数组转换成字节数组并检测字符是 ...
- 16进制数的表示方法及转换
十六进制数具有下列两个特点: 英文字母A,B,C,D,E,F分别表示数字10-15. 计数到F后,再增加1个,就进位. 十六进制数的基数是16,采用的数码是0.1.2.3.4.5.6.7.8.9.A. ...
- 计算机进制数教案,二、数制转换课程导入及其完整教案
数制与数制间的转换教案 教学过程 师生活动 设计意图 学 科 <计算机组成与工作原理> 课 题 数制与数制间的转换 在日常生活当中我们用到的数字都是用十进制来表示 的.但是在计算机当中,各 ...
- 基于MATLAB实现进制数转换
实现功能 建立数制转换对话框,在左边输入一个十进制整数和一个二到十六之间的转换后进制数,单击"转换"按钮能在右边得到十进制数转换后字符串,单击"退出"按钮退出对 ...
- 全国计算机考试进制计算器吗,进制数换算器(十六进制计算器在线)
求任意进制数之间相互转换的通用方法. 尤其是二进制八进制十进制和十六进. 一个八进制等于三位二进制.一个十六进制等于四位二进制.直接数位数! 请各位多举几个例子吧? (一).二进制.八进制.十六进制转 ...
- [转载] python字符串转化为16进制数_python实用知识,数值类型和进制整数的转换
参考链接: 在Python中将整数int转换为字符串string 喜欢编程,热爱分享,希望能结交更多志同道合的朋友,一起在学习Python的道路上走得更远! 1.数值类型的转换 int()可以将字符串 ...
- 16进制数和10进制数之间的转换
1.16进制转10进制数 parseInt(string, radix) 解析一个字符串并返回指定基数的十进制整数,radix 是 2-36 之间的整数,表示被解析字符串的基数. //将10这个字符指 ...
- ByteArray、16进制、字符串之间的转换
ByteArray.16进制.字符串之间的转换: package fengzi.convert {import flash.utils.ByteArray;public class ByteArray ...
最新文章
- 技术大牛养成指南,一篇不鸡汤的成功学实践
- Coursera课程Python for everyone:chapter7
- Winform中双击DevExpress的TreeList的树形节点怎样获取当前节点
- Ansible常用模块详解
- python百度网盘_百度网盘突然大调整,网友炸了..
- Flink的重启策略
- [转]使用wget命令下载Google drive上的文件
- inotify 机制
- intellij出现dependency ‘xxx‘not found
- Bonjour是什么?
- iOS 获取当前月份的天数(转)
- python在材料方面的应用_python记录材料题带标准答案
- oracle清除bin,Oracle recyclebin详解(闪回删除的表)
- Vue extend 学习
- CSS3的线性渐变(linear-gradient)
- 让cp显示进度的脚本
- 天锐绿盾技术大讲堂:终端出现红色“+”
- 根据IP地址查询物理位置(IP地址定位库)并且查询当前地址的天气信息(中国气象网)
- 深度学习--激活函数之sigmoid激活函数
- 记录一次破解某加固APP的修改纪录
热门文章
- 关于正态总体的样本均值与样本方差的重要结论
- windows查看系统信息的方法
- NVMe协议详解(三)
- 最优控制问题matlab编程实例,第十二章用matlab解最优控制问题及应用实例.ppt
- [人脸识别] (VALSE 2017)山世光——人脸识别年度进展
- 数学分析教程史济怀练习15.5
- 三星Samsung手机平板安装Google Play商店,安装谷歌服务框架,解决闪退奔溃GMS
- cartographer 理解
- 微信小程序表单框架01
- MeasureReady TM 155 开发人员问答,第 2 部分:触摸屏设计和用户测试