当前位置:首页 > 测试测量 > 测试测量
[导读]我们都知道两点之间最近的路径是直线,遗憾的是程序员往往走的并非直线。 目的:字符串转换为双精度数。 网友的程序框图:分析网友的程序框图: 网友的目的是字符串转换为双精度数,从程序框图上看,他限定了字

我们都知道两点之间最近的路径是直线,遗憾的是程序员往往走的并非直线。
目的:字符串转换为双精度数。
网友的程序框图:分析网友的程序框图:

网友的目的是字符串转换为双精度数,从程序框图上看,他限定了字符串的格式。字符串由5个字符组成,其中整数部分2个字符,小数点1个字符,小数部分两个字符。
网友首先把字符串转换为U8数组,然后利用索引数组取出各个位,根据各位、百位、小数点后一位、小数点后两位,分别乘以10、100、0.1、0.01,然后求和。
框图中比较难理解的是除以16,求余数的操作,他的目的把ASCII转换为数字。我们知道ASCII 0X30...0X39分别是0-9的ASCII.除以16的目的是右移4位,这样余数分别为0-9。

改进网友的程序框图:
网友的程序框图虽然比较复杂,但是还是有借鉴意义的,这里面实际上给出了字符串表示的数字转换为各个位组成数组的方法,我们可以更为简单的方法实现同样的功能。以整型数为例。
在LABVIEW中,类似功能最常见的方法是U8数组减去0X30,这样直接得到各个位构成的数组。即便使用网友的方法,也可以用求余数函数对数组进行整体运算。这是LABVIEW数组有别于C语言数组的一个重要特点,在C语言中是不允许对数组进行整体运算操作的。

推荐解决方法:
LABVIEW是面向工程应用的编程语言,对于基本的编程需要,肯定是提供相应的函数的,而且远比其它编程语言方便得多,充分体现了LABVIEW易于使用的特点。对于字符串转换双精度数,在字符串函数选板中,至少提供了三个函数可以完成这样的转换功能,见下图。



本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在C语言编程中,字符串处理是基础操作,但传统库函数如strcat()因缺乏内存边界检查而成为安全漏洞的温床。根据MITRE的CWE数据库统计,缓冲区溢出漏洞中有超过30%源于不安全的字符串操作。本文将设计一个安全增强的字...

关键字: 字符串 strcat C语言

C语言因其高效性和底层控制能力被广泛应用于系统编程,但其缺乏内置的边界检查和类型安全机制,使得输入验证成为保障程序安全的核心环节。从格式化字符串漏洞到整数溢出攻击,未经严格验证的输入可能导致缓冲区溢出、权限提升甚至远程代...

关键字: C语言 字符串

下面的项目包括一个机器人完成各种任务。这是通过在机器人上使用和实现各种传感器来完成的。机器人能够在一个封闭的区域内移动,收集球,并在最后的一个点上放下球。机器人将绘制出它去过的位置和该区域内的障碍物。

关键字: 传感器 机器人 LabVIEW

在C语言的世界里,字符串作为字符数组的一种特殊形式,拥有着一个与众不同的特性——结束符。这个结束符,即空字符(Null Character),用\0表示,在字符串的末尾静静地守候,扮演着标识字符串终结的重要角色。相比之下...

关键字: C语言 字符串

NI提供的软件包经济省时,不仅帮助开发人员节省时间,还为创客提供了新的机遇

关键字: LabVIEW 自动化测试系统

强大的图形化编程工具使整个测试和测量过程的各个方面实现可视化

关键字: LabVIEW 图形化编程工具

摘要:对于每一型新机试飞,或者是重大的研究性试飞和验证试飞,都必须实施遥测监控。现基于TTS(TextToSpeech)语音合成技术,结合飞行试验遥测监控系统的不足,利用TTS引擎在LabVIEW开发环境下设计并实现了遥...

关键字: 飞行试验遥测监控系统 TTS LabVIEW

在实际项目中,我们经常需要提取一个数值的某些位的数码,比如用数码管来显示数值或将一个数值转成字符串,都会涉及到这一操作。

关键字: 数值 数码 printf

字符串是C语言中最基础的概念,也是最常被用到的。在嵌入式开发中,我们经常要将一些字符串通过串口显示到串口助手或调试终端上,作为信息提示,以便让我们了解程序的运行情况;或者是将一些常量的值转为字符串,来显示到液晶等显示设备...

关键字: 字符串 指针 C 语言

在科研以及应用软件领域,LabVIEW和MATLAB作为比较常用的2款工具,相信很多人都用过吧。简单的概括一下,LabVIEW侧重测试测量和数据采集,MATLAB侧重科学计算和数据分析。

关键字: LabVIEW matlab 混合编程
关闭