实现ftoa与itoa

/********************************************************************************************* @Name	 : 浮点型转字符* @Brief	 : none* @Input	 : str:字符串指针 num:浮点数 n:精度* @Output	 : none* @Return	 : none******************************************************************************************
**/
int ftoa(char *str, float num, int n)        //n是转换的精度,即是字符串'.'后有几位小数
{int     sumI;float   sumF;int     sign = 0;int     temp;int     count = 0;char *p;char *pp;if(str == NULL) return -1;p = str;/*Is less than 0*/if(num < 0){sign = 1;num = 0 - num;}sumI = (int)num;    //sumI is the part of intsumF = num - sumI;  //sumF is the part of float/*Int ===> String*/do{temp = sumI % 10;*(str++) = temp + '0';}while((sumI = sumI /10) != 0);/*******End*******/if(sign == 1){*(str++) = '-';}pp = str;pp--;while(p < pp){*p = *p + *pp;*pp = *p - *pp;*p = *p -*pp;p++;pp--;}*(str++) = '.';     //point/*Float ===> String*/do{temp = (int)(sumF*10);*(str++) = temp + '0';if((++count) == n)break;sumF = sumF*10 - temp;}while(!(sumF > -0.000001 && sumF < 0.000001));*str ='\0';return 0;}/********************************************************************************************* @Name	 : 转置函数* @Brief	 : none* @Input	 : s:待转换字符串* @Output	 : none* @Return	 : none******************************************************************************************
**/
void reverse(char *s)  
{  char temp;  char *p = s;    //p指向s的头部  char *q = s;    //q指向s的尾部  while(*q)  ++q;  q--;  //交换移动指针,直到p和q交叉  while(q > p)  {  temp = *p;  *p++ = *q;  *q-- = temp;  }   
}  /********************************************************************************************* @Name	 : 整型转字符* @Brief	 : none* @Input	 : n:整型 s:字符串* @Output	 : none* @Return	 : none******************************************************************************************
**/void itoa(uint16_t n,char s[])
{uint16_t i = 0;   do      //从各位开始变为字符,直到最高位,最后应该反转  {  s[i++] = n%10 + '0';  n = n/10;  }while(n > 0);  s[i] = '\0';    //最后加上字符串结束符 reverse(s);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/243507.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Apache Nuvem将带来更多的开源云?

只要你过去几年没被困在荒岛上出不来&#xff0c;你就不可能不知道人们在云上所花费的巨大心力。无论你是否相信云将成为软件的一个“根本转变”&#xff0c;毋庸置疑的是未来几年将是云的世界。虽然现在谈很多标准还为时尚早&#xff0c;但我们开始看到在安全/识别及基本架构等…

两个C++毫秒级定时器

Win32控制台测试程序如下, 其中完整的程序代码下载是: http://download.csdn.net/detail/hemmingway/4600235 // Test_Time.cpp : 定义控制台应用程序的入口点。 //#include "stdafx.h" #include "Timer.h" #include "TimeCounter.h"#define N 1…

狼行天下:追寻狼迹内蒙生态行第二天(续1)

临近傍晚的乌力亚思太山谷。乱云中的敖包和写有藏经文的旗帜。 我搭的帐篷。别看很小&#xff0c;可以住两个人。 能够睡6个人的巨大的帐篷&#xff0c;需要几个人才可以搭建起来。 夕阳把草原染成了赤金色。 《时尚健康》的三条汉子裹挟了自己的美女。这片草地&#xff0c;这堆…

VHDL子程序

VHDL子程序 VHDL子程序(SUBPROGRAM)是一个VHDL程序模块,这个模块利用顺序语句来定义和完成算法,因此只能使用顺序语句。这一点与进程相似,所不同的是,子程序不能像进程那样可以从本结构体的并行语句或其他进程结构中直接读取信号值或者向信号赋值。 VHDL子程序与其他软件…

stm8因为固定中断向量表地址引发的一系列问题及其处理

转载&#xff1a;https://blog.csdn.net/chen244798611/article/details/51334489 因为之前写个stm32的IAP升级程序&#xff0c;所以我总结了做IAP升级的三个主要的难点&#xff1a; 1、如何设置中断向量&#xff0c;也就是说中断向量的重定向 2、如何配置程序的起始地址 3、…

《北京作家》2010年第2期,总第4期出版

《北京作家》2010年第2期&#xff0c;总第4期出版。 “名家新作”栏目推出的是著名作家张洁的最新短篇小说《一生太长了》&#xff0c;这篇小说最早发表于《人民文学》杂志社&#xff0c;是张洁非常特殊的小说之一。小说以狼为视角&#xff0c;叙述了狼在人类主宰的自然界的生存…

一种数据结构 跳表skiplist

跳表是平衡树的一种替代的数据结构&#xff0c;但是和红黑树不相同的是&#xff0c;跳表对于树的平衡的实现是基于一种随机化的算法的&#xff0c;这样也就是说跳表的插入和删除的工作是比较简单的。 下载地址 : http://download.csdn.net/detail/hemmingway/4625042 测试程…

《曙光与暮色》中的孤独与罪

《你在高原》第八卷《曙光与暮色》的两个主题值得关注。第一是孤独。小说的发展主要有三条线索&#xff1a;宁伽、曲涴、庄周&#xff0c;三条线索虽有内在关联&#xff0c;但都彼此孤立、隔离&#xff0c;甚至是彼此绝缘。小说中人与人之间的关系也是如此&#xff0c;出身、地…

汇编.s文件包含头文件处理

Error[2]: Failed to open #include file ‘FreeRTOSConfig.h’ 解决办法&#xff1a; IAR&#xff0c;在在assembler&#xff08;汇编编译选项&#xff09; 的preprocessor&#xff08;预处理&#xff09;里&#xff0c;填写好 引用的头文件地址

开源代码

我是一个C/C开发者&#xff0c;我收集的代码相关网站也是以C/C为主的&#xff0c;这都是我在开发过程中查找资料时用到或发现的一些网站。现在我把它们列出来&#xff0c;希望对大家有帮助&#xff0c;也希望能够与大家多多交流代码相关的网上资源。所以我在此抛砖了:) 另外声明…

IBM调低DB 2价格,Oracle提高MySQL使用成本

根据The Register公布的一份报告&#xff0c;Oracle取消了MySQL的Basic和Silver级支持。当然&#xff0c;这没有多少损失&#xff0c;在basic级别上&#xff0c;每年只能获得两次支持&#xff0c;而silver级只是增加了一些初级的监控工具。专业人员通常在用生产级数据库中使用的…

数值的表示和运算

数值的表示和运算 一方面,数字的表示格式必须有足够的精度;另一方面,数字的表示格式必须考虑数字的表示方法。 无符号 无符号的VHDL描述 library IEEE; use IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; entity top is -- …

SOA的未来怎样?

Joe McKendrick在他的新博文中抛出问题&#xff0c;探讨 SOA的未来。\u0026#xD;\n面向服务架构的下一步是什么呢&#xff1f; 许多人看到它与其他方法的融合&#xff0c;因为单独SOA不足以构成商业案例&#xff08;business case&#xff09;——业务要求高效的客户服务&#x…

加速度中的mg/LSB是什么意思

是G-Sensor灵敏度。 range的设置是指sensor所能测量的加速度范围&#xff0c;2g时最多能测到/-2g&#xff0c;4g时最多能测到/-4g&#xff0c;… 而sensor的ADC的位数是固定的&#xff0c;也就是说10位能输出的数字只有-512 ~ 511&#xff0c;不管range如何设置&#xff0c;数字…

Java字节码反编译工具

jd-gui-0.3.3.windows.zip是一个JAVA字节码(.class文件)反编译的工具, 试了一下感觉挺好用的的。下载地址&#xff1a; http://ishare.iask.sina.com.cn/f/22371879.html?fromlike官网http://java.decompiler.free.fr/

小孩与南瓜

九九重阳节。大觉寺。小孩抚摩着南瓜&#xff0c;像夏天挑西瓜。 就是它了。哈哈 妈咪&#xff0c;它怎么会动&#xff0c;瓜里有小动物吗&#xff1f; 妈妈说&#xff1a;这是去年万圣节的南瓜&#xff0c;因为今年的万圣节快到了&#xff0c;在里面睡了一年的小鬼儿醒了呢。

无符号定点数加法运算的VHDL描述

无符号定点数加法运算的VHDL描述 使用VHDL描述定点运算时添加运算支持的详细步骤 定位到Xilinx的安装路径下,然后找到D:\Xilinx\Vivado\2021.1\scripts\rt\data在该目录下,找到fixed_pkg_2008.vhd文件,并将其复制到设计目录中。 2. 在当前的设计工程中,将其复制到当前工…

补码、无符号数减法运算

1. 补码 Twos Complement&#xff08;二补数、补码&#xff09;是对二进制数的数学运算&#xff0c;运算过程为&#xff1a;对二进制序列每一位取反&#xff08;0->1; 1->0&#xff09;&#xff0c;再加1。 bits取反补码011100101010101110111000001 2. 计算机中有符号…

改变自己.

今天莫名其妙的被人躺枪了,悲催!