单片机复杂数值运算问题

小弟现在要用单片机做一些复杂数值运算,有的数值要精确到小数点后十八位,小弟知道单片机不适合用于运算,不过老师给的任务就是这样,
用arduino好像不合适,那么有能稍微胜任一点的单片机吗,不知道stm32行不行,arduino是不是肯定不行?

0

6个回答

典型的单片机是 8 位的, 也有16位的单片机。如果用单片机来做高精度的浮点运算, 功能可能比较弱化, 主题的实现思想是: 将整数和小数部分分开, 分别计算,然后最后再处理。
当然, STM32 是 Cortex M0 或者是 M3 或者 M4 的核, 是属于ARM架构的, 一般是 32位的微处理器, 里面基本上都有浮点运算单元, 因此, 可以直接定义 float 型变量或者 double 型变量,直接进行计算即可。
没有浮点运算单元的微处理器, 只能采用分开计算的方法来处理, 希望能够帮到你。

2
qq_34047532
qq_34047532 谢谢您的回答,小弟知晓了,在下是在arduino的串口通信过程发现单片机读取浮点数非常容易出错,那么stm32是不是就可以解决这个问题呢
一年多之前 回复

stm32没问题的,可以用

2

你看看stm32的浮点数计算那节

1

stm32 float 定义浮点型 7位有效数字
double 定义双精度浮点型 17位有效数字!

1

给个思路...曾经(10多年前)我的单片机导师也出过类似题目,我当时的解法思考方法,建立一个阵列(老师要几位做多大阵列)一位一位运算....当然这个方法既浪费CPU算力又费内存...但是做出答案了^_^
好像正解是定义一个float在运算他就解出来了....由于年代久远找不到当时做的资料了

1

用arduino好像不合适,那么有能稍微胜任一点的单片机吗,不知道stm32行不行,arduino是不是肯定不行?

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Python中的数值运算与逻辑运算
Python能够实现数值运算和逻辑运算。n1、数值运算n       打开Python命令行,输入以下命令:n        >>>1 + 2n        >>>3n        >>>3.5 - 4.5n        >>>-1.0n        >>>3*4nn        >>>12nn        >>>3/4nn        >>>0.75
Python123 Python语言程序设计 练习1: Python基本语法元素 (第1周) 3N的多次方
描述nn编写一个程序,计算输入数字N的0次方到5次方结果,并依次输出这6个结果,输出结果间用空格分隔。其中:N是一个整数或浮点数。nnprint()函数可以同时输出多个信息,采用如下方法可以使用空格对多个输出结果进行分割:nnnprint(3.14, 1024, 2048)nn本平台可以通过input()函数获得测试用例输入,请注意,不要在input()中增加提示信息参数,使用如下方式获得测试用例...
python 中的数字类型和操作运算
数字类型nn整数nnpython中的整数可以为正,可以为负,范围可以想多大就多大 n二进制数以0b或者0B开头 n八进制数以0o或者0O开头 n十六进制以0x或者0X开头 n常用的pow(2,10)表示2的10次方nnnn浮点数nn相当于实数 n1,浮点数的取值范围为正负10的308次方,精度为10的-16次方, n2,浮点数的运算存在不确定尾数,也就是说0.1+0.2 == 0,3会被判断为Fa...
数值运算方法
一 expr数值运算工具rnaa=11rnbb=22rndd=$(expr $aa + $bb)rnecho $ddrn注意 + 左右两边都有空格rn rn二 实战rn[root@localhost ~]# aa=11rn[root@localhost ~]# bb=22rn[root@localhost ~]# dd=$(expr $aa + $bb)rn[root@localhost ~]#
51单片机C语言60个复杂程序
24c02存储相关的程序(5个);DS1302 时钟相关的程序(6个);PCF8591相关程序(5个);串口通信相关程序(3个);红外接收相关程序(6个);18b20温度传感器相关程序(5个);双色点阵相关程序(5个)等等
python的数值类型和运算符
n 数值类型n n n 整型数 int n n    整型数是不带有小数部分的数据,包含自然数和负数n 整型字面值的表示方式:n    十进制表示n    八进制方式表示(0o开头,后跟0-7)nn         0o27           23nn    十六进制表示(0x开头,后跟0-9,a-f)n        0x17           23n         0xff       ...
Python基础 学习笔记(一)数值运算
Python基础 学习笔记(一)数值运算rn一、数学符号rn1、加法rn1+2rnrn2、减法rn3-1rnrn3、乘法rn4*6rnrn4、除法rn8/2rnrn5、乘方rn2**3rnrn6、取余数rn10%3rnrn二、数据类型rnPython 不需要确定数据类型,会根据数据自行定义如:rna = 3rntype(a)rnrnb = 1.5rntype(b)rnrn数据类型的转换rnc = int(b)rntype(c)rnrncrnrn三、数值运算rn1、取...
python——基本数据类型及数值运算函数
浮点数nround(x,d):对x四舍五入,d是小数截取位数n浮点数间运算及比较用round()函数辅助n科学记数法的表示方式:<a>e<b>表示a*10的b次方nn复数nz=4+5jnn实部:用z.real获得实部nn虚部:用z.imag获得虚部nn操作符n+(加)、-(减)、*(乘)、/(除)结果是浮点数、nnx//y:整数除,10//3=3nn+x:x本身nn-y:y...
python中数学运算
python中数学运算rnrnrnPython 提供的基本数据类型 int、float 可以做整数和浮点的四则运算以及乘方等运算。rn但是,四则运算不局限于int和float,还可以是有理数、矩阵等。rn要表示有理数,可以用一个Rational类来表示:rnclass Rational(object):n def __init__(self, p, q):n self.p =
python学习记录(数值运算与赋值快捷方式)
分享一些自己学习记录,主要是针对初学者,希望能够有些帮助
matlab6.5辅助小波分析与应用例程
应用matlab的数值运算功能,处理小波方面的分析问题。
MATLAB数值运算.doc
MATLAB数值运算.doc MATLAB数值运算.doc MATLAB数值运算.doc MATLAB数值运算.doc
数值运算的问题
short i = 1,j = 1;rni = i+j;rnrn哪里错了?
Python基础之运算操作符总结
Python支持的算数操作符:rn单目操作符正号(+)以及负号(-);rn双目操作符(+)加号,(-)减号,(*)乘号,(/)除号,(%)取余,(**)幂运算,另有整除操作符//;rnPython支持的位操作符(只适用于整数):rn~num (按位取反)=rn—(num+1)rnnum左移num1位)rnnum>>num1(num右移num1位)rnnum&num1(num与num1按位相与)rn
Matlab基础之基本数值运算
前言:nMatlab数值运算包罗万象,丰富多彩,本笔记只介绍其数值运算的常用一小部分。nnn一、多项式运算n多项式一般类型:;n比如, 对应在Matlab中  a=[2 3 4 2 59 8];nn>> a=[2 3 4 2 59 8];n b=[12 2 4 3 5 7 8 9 1];n>> polyval(a,1)%当x=1时,多项式的值nans =n 78n>>c=
数值运算
把数值存入一字段 类型为VARCHARrnrn可以对该字段进行运算吗?rnrn如何把VARCHAR强制转换成数值型?
关于MATLAB入门的简单记录10 Matlab的数值运算
Matlab中多项式是按照矩阵的形式表示的,比如[1 2 3 5 4 6]就是x ⁵ +2x ⁴+3x³+5x²+4x¹ +6xºmatlab函数ployval函数提供数值代入计算功能,假设前面多项式为a,要计算x=2的值ployval(a,x)求多项式的积conv(A,B)对应的还有deconv()函数多项式求根使用函数roots  matlab多项式求根有一个特点就是多项式使用行向量表示,结果...
【数值计算】计算机中的数值计算
nn上溢和下溢(underflow & overflow)nnnnn计算机中的数值计算,通常是指通过迭代过程更新解的估计量来解决数学问题, 而不是我们在草稿纸上通过解析过程推导出公式来提供准确解的方法。常用的操作包括两类nnn优化:找到最小化或最大化函数值的参数n线性方程组的求解nnnnn上溢和下溢(underflow & overflow)nn在数字计算机,数值存储和处理都是离散...
python的一些简单的数值计算和函数操作
#数字类型及操作 整数类型与数学中整数的概念一致,可正可负,没有取值范围限制4种进制表示形式:十进制二进制以0b或0B开头八进制以0o或00开头十六进制以0x或0X开头 浮点类型与数学中实数一致,即带有小数点及小数的数字,存在取值范围(-10^308到10^308)和精度(10^-16)等问题0.1+0.20.30000000000000004 存在不确定尾数,原因:二进制表示小数,可以无限接近,...
matlab2数值运算
matlab数值运算,数值运算ppt课件
彻底剖析numpy的数值运算
本文详细介绍了numpy中的各种运算操作
python_数值类型,运算符,内置方法,输入输出(I/O)
一.数值类型rn1.整型rnrnIn [1]: aInt = 1 ##整形nIn [3]: type(aInt)nOut[3]: intrn2.长整形rnrnIn [6]: aLong = 12345678908877665555 ##长整形nIn [7]: aLongnOut[7]: 12345678908877665555LnIn [8]: type(aLong)nOut[8]: longrn
Python数值运算各函数性能分析
数据分析中的常见任务是在大量数字上计算发杂的数学表达式,Python本身提供了所有必须的功能,不同库实现的效率差别很大:nn1、nloops = 25000000nfrom math import *na = range(1,loops)ndef f(x):n return 3 * log(x) + cos(x) ** 2n%timeit r = [f(x) for x in a]nn18....
算法
一个程序主要包括以下两方面的信息:nn(1)对数据的描述。nn      在程序中要指定用到哪些数据以及这些数据的类型和它们的组织形式。这就是数据结构。nn(2)对操作的描述。nn      即要求计算机进行操作的步骤,也就是算法。nn著名计算机科学家沃思提出一个公式:算法+数据结构=程序 直到今天,这个公式对于过程化程序来说依然是适用的。nn注意:不要认为只有“计算”的问题才有算法,广义地说,为...
实验二 MATLAB的基本数值运算
理解常量、变量、向量、矩阵、多项式等概念,掌握向量在MATLAB中的表示,熟练掌握矩阵及其运算,数组及其运算,多项式运算,线性方程组求解,了解数值统计的基本函数,简单插值函数,简单优化函数,微分方程数值解的基本函数等。
matlab数值与符号运算
matla数值与符号运算n1. 多项式计算n主函数nclcnclearnclosen%多项式 x^4-12*x^3+25*x+116np=[1 -12 0 25 116]n %多项式求值函数 polyval 与 polyvalm n %格式 :Y=polyval(p,x)n Y=polyval(p,1)n Y=polyval(p,2)n Y=polyval(p,3)n...
shell脚本编程之数值运算三种方法
数值运算 nshell脚本中所有的变量缺省都是字符串,如果要使用数值运 n算,则需要按一定的格式来书写。 n1,直接定义成数值变量:nndeclare -i a=100na=$a/2nn2,使用双圆括号:nna=100na=$(($a/2))nn3,使用expr命令:nna=100na=`expr $a / 100`...
Python基础练习——数值运算练习
#/usr/bin/pythonn#--coding:utf-8-nimport mathn一、几何。计算面积和体积:n(a)正方形和立方体ndef zheng(a):ns = aanreturn snbian=int(input(“请输入边长:”))nmianji = zheng(bian)nprint(‘正方形面积为:%d’ %(mianji))ndef li(b):nl=bbbnreturn...
论嵌入式单片机软件架构
经过几天的回忆与思考,分析了我的成长路径,选择一些我自认为是成长关键点的位置,总结一个关键字,一步一步来讨论关于嵌入式单片机软件的架构。rn我先把总结出的关键字写出来吧:**流水式、中断前后台、任务式、状态机、分层式,操作系统多任务**;这些就是我总结出的关键字,写这篇博客我决定不参照其他博客,只把我心中所想以及以前的代码示例或者记录翻出来,再加修改,然后呈现出来,供大家品鉴。
Python基础知识(数值运算、字符串、format函数)
python为大小写敏感型nn1、Python中除法运算的结果是浮点型,其它运算结果一般为整型,除非参与运算的有浮点型。nn2、Python变量命名时,除首单词外,其它单词第一个字母大写(骆驼命名法)。nn3、round(n,r):当r省略不写时,四舍五入为整数,且当n为两数中间值时,取最近的偶数如round(2.5,)=2;round(3.5)=4。r=0时,保留一位小数;nn4、str[m:n...
Python学习(9):变量运算符的使用
Python变量使用的各种运算符大致如下: nnn一、算术运算符与赋值运算符nnPython的赋值运算符是在算术运算符的基础上又添加了赋值操作,这两种运算符与其他编程语言相同,所以这里不再对运算的部分作过多说明。nn二、比较运算符nn比较运算符不只适用于Number类型,如:两个字符是比较ASCll码大小;两个字符串是按序比较字符串中的字符的ASCll码大小。 nnn三、逻辑运算符nnPython...
Python基础学习篇-2-数值运算和字符串
一、数值运算符n1、运算符n+,-,* 和 / 与其它语言一样,括号 (()) 用于分组n2、int 和 floatn整数(例如,2, 4, 20 )的类型是 int,带有小数部分的数字(例如,5.0, 1.6)的类型是 float。n3、/ 、 //、 %n除法(/)永远返回一个浮点数。如要只返回整数结果(丢掉任何小数部分),可以使用 // 运算符(floor division);要计算余数可...
计算机科学复杂工程问题的理解
针对一些高等学校计算机类专业毕业设计,对于复杂工程问题进行了描述,指导毕业设计作品和论文。
JS中数值常量的含义,数值的运算
Number.MAX_VALUErnNumber.MIN_VALUErnNumber.MAX_SAFE_INTEGERrnNumber.MIN_SAFE_INTEGERrnNumber.EPSILONrnrnES采用Binary64rnrn0.1 + 0.2 = rnrnrn
PHP基础
数据与运算n1.常量nnn概念:常量就是在脚本运行过程中值始终不变的量。 特点:是一旦被定义就不能被修改或重新定义。nnn举例:数学中的圆周率π就是一个常量,其值就是固定且不能被改变的。nnn命名规则:遵循标识符的命名规则,默认大小写敏感,习惯上常量名称总是使用大写字母表示。n1.常量——常量的定义和使用nnn常量的定义方式nn(1)define()函数n(2)const ()函数nndefine...
MATLAB学习笔记-Part 3.MATLAB的数值运算
本文主要是矩阵相关的数值运算内容
JS无法进行数值精确计算的问题
在做js浮点型数值计算的时候,出现的了数据计算不准确的原因:
Python 数值计算 遇到的错误总结
def convert(s):n # conver = {b'Iris-setosa': 0, b'Iris-versicolor': 1, b'Iris-virginica': 2}n conver = {"Iris-setosa": 0, "Iris-versicolor": 1, "Iris-virginica": 2}n return conver[s]def main()
JS 数值型 运算
nfunction calculatePrice(){n var price = new Number($('#price').val());n var petroDiscount = new Number($('#petroDiscount').val());n var merchantDiscount=new Number( $('#merchantDiscount').val()...
Java Number Cruncher(java数值计算jar包)
java 数值计算的工具包,NASA数值计算工程师写的书 Java Number Crunchyer里面的源代码,和jar包
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 复杂美区块链 java得学习过程复杂