Arduino语法--数据类型
Arduino与C语言类似,有多种数据类型。数据类型在数据结构中的定义是一个值的集合,以及定义在这个值集上的一组操作,各种数据类型需要在特定的地方使用。一般来说,变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中。在声明变量时需要指定它的数据类型,所有变量都具有数据类型,以便决定存储不同类型的数据
一、常用的数据类型
常用的数据类型有布尔类型、字符型、字节型、整型、无符号整型、长整型、无符号长数浮点型、双精度浮点型等,本小节会依次介绍这些数据类型。
1.布尔类型
布尔值(bolean)是一种逻辑值,其结果只能为真(true)或者假(false)。布尔值可以用来计算,最常用的布尔运算符是与运算(&&)、或运算(||)和非运算(!)。
真值表中,对于与运算,仅当A和B均为真时,运算结果为真,否则,运算结果为假;对于或运算,仅当A和B均为假时,运算结果为假,否则,运算结果为真。对于非运算,当A为真时,运算结果为假;当A为假时,运算结果为真。
2.字符型
字符型(char)变量可以用来存放字符,其数值范围是-128~+128。例如:
char A=58;
3.字节型
字节(byte)只能用一个字节(8位)的存储空间,它可以用来存储0~255之间的数字。例如: byte B=8;
4.整型
整型(int)用两个字节表示一个存储空间,它可以用来存储-32768~+32767 之间的数字。在Arduino中,整型是最常用的变量类型。例如:
int C=13;
5.无符号整型
同整型一样,无符号整型(unsigned int)也用两个字节表示一个存储空间,它可以用来存储0~65536之间的数字,通过范围可以看出,无符号整型不能存储负数。例如:
unsigned int D=65535;
6.长整型
长整型(long)可以用4个字节表示一个存储空间,其大小是int型的2倍。它可以用来存储-2147483648~2147483648 之间的数字。例如:
long E=2147483647;
7.无符号长整型
无符号长整型(unsigned long)同长整型一样,用4个字节表示一个存储空间,它可以用来存储0~4294967296之间的数字。例如:
unsigned long F=4294967295;
8.浮点型
浮点数(float)可以用来表示含有小数点的数,例如:1.24。当需要用变量表示小数时,浮点数便是所需要的数据类型。浮点数占有4个字节的内存,其存储空间很大,能够存储带小数的数字。例如:
a=b/3;
当b=9时,显然a=3,为整型。
当b=10时,正确结果应为3.3333,可是由于a是整型,计算出来的结果将会变为3,这与实际结果不符。
但是,如果方程为:floata=b/3.0。
当b=9时,a=3.0。
当b=10时,a=3.3333,结果正确。
如果在常数后面加上“.0”,编译器会把该常数当做浮点数而不是整数来处理。
9.双精度浮点型
双精度浮点型(double)同float类似,它通常占有8个字节的内存,但是,双精度浮点型数据比浮点型数据的精度高,而且范围广。但是,双精度浮点型数据和浮点型数据在Arduino中是一样的。
二、数据类型转换
在编写程序过程中需要用到一些有关数据类型转换的函数,这里介绍几个常见的数据类型转换函数。
(1)char() 8bit有符号
功能:将一个变量的类型变为char。
语法:char(x)
参数:x:任何类型的值
返回值:char型值
(2)byte() 8bit无符号
功能:将一个值转换为字节型数值。
语法:byte(x)
参数:x:任何类型的值
返回值:字节
(3)int() 16bit有符号
功能:将一个值转换为整型数值。
语法:int(x)参数:x:任何类型的值
返回值:整型的值
(4)long() 32bit有符号
功能:将一个值转换为长整型数值。
语法:long(x)
参数:x:任何类型的值
返回值:长整型的值
(5)float()
功能:将一个值转换换浮点型数值。
语法:float(x)
参数:x:任何类型的值
返回值:浮点型的值
(6)word()
功能:把一个值转换为word数据类型的值,或由两个字节创建一个字符。
语法:word(x)或word(H,L)
参数:x:任何类型的值,H:高阶字节(左边),L:低阶字节(右边)
返回值:字符
三、自定义数据类型
在Arduino中可以根据自己的需要定义结构类型的数据,其方法和C语言是一致的。
struct 名称
{
成员列表;
};
Arduino语法--数据类型的更多相关文章
- Java学习笔记之基础语法(数据类型)
8种基本数据类型 整型: byte[1字节] short[2字节] int[4字节] long[8字节] 1,四种整型之间的区别:申 ...
- Arduino语法详解_含示例详解
Arduino 的程序可以划分为三个主要部分:结构.变量(变量与常量).函数. 结构部分 一.结构 1.1 setup() 1.2 loop() 二.结构控制 2.1 if 2.2 if...else ...
- Arduino 语法与函数
Arduino programs can be divided in three main parts: structure, values (variables and constants), an ...
- javascript高级编程3第三章:基本概念 本章内容 语法 数据类型 流控制语句 函数
3.1 语法 ECMAScript的语法大量借鉴了C及其他类C语言的语法. 3.1.1 区分大小写 3.1.2 标识符 所谓标识符,就是值变量.函数.属性的名字,或者函数的参数.标识符可以是按照下列格 ...
- 第2章 Python基础语法 -- 数据类型
2.2数据类型 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间.基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中. 2.2.1 标准数据类型 在内存中存储 ...
- Arduino语法-变量和常量
变量的声明: int led=11 一般变量的声明方法为类型名+变量名+变量初始化值.变量名的写法约定为首字母小写 变量的作用范围又称为作用域,变量的作用范围与该变量在哪儿声明有关,大致分为如下两种: ...
- Arduino基本数据类型
基本数据类型简介 常见的Arduino是基于ATmega的8位 AVR单片机,例如Arduino UNO ,Arduino Nano,Arduino mega2560等.还有高级点 32位的,如Ard ...
- C语言笔记 02_基本语法&数据类型&变量
基本语法 令牌 C 程序由各种令牌组成,令牌可以是关键字.标识符.常量.字符串值,或者是一个符号.例如,下面的 C 语句包括五个令牌: printf("Hello, World! \n&qu ...
- JavaScript---js语法,数据类型及方法, 数组及方法,JSON对象及方法,日期Date及方法,正则及方法,数据类型转换,运算符, 控制流程(三元运算),函数(匿名函数,自调用函数)
day46 一丶javascript介绍 JavaScript的基础分为三个 1.ECMAScript:JavaScript的语法标准.包括变量,表达式,运算符,函数,if语句,for语句 ...
- 【HICP Gauss】数据库 数据库高级语法(数据类型函数)-3
SQL高级语法:整型: integer 2(-31) ~2(31)-1 4字节 intger unsigned 2(0)~2(32)-1 4字节 bigint 2(-63)~2(63)-1 8字节 ...
随机推荐
- AI产品落地的多角度探索与实践
AI产品落地的多角度探索与实践是一个复杂而多维的过程,它涉及技术创新.行业应用.人机协作等多个方面.在构建多智能体平台Agent Foundry的基础上,我们可以将其应用于制造业.教育.政府.跨境电商 ...
- 使用 cProfile 分析和定位 Python 应用性能瓶颈点
一.需求背景 性能压测时,发现某接口存在性能瓶颈,期望借助工具定位该瓶颈,最好能定位至具体慢方法. 二.cProfile 简介 cProfile 是 Python 标准库中的一个模块,用于对 Pyth ...
- AFL-QBDI与AFL-Unicorn实战
文章一开始发表在微信公众号 https://mp.weixin.qq.com/s/wNeeuS3XojfZWvtAJ9xGlQ Fuzz Android Native库 为了能够Fuzz Androi ...
- Excel使用IF{1,0}虚拟数组+VLOOKUP实现联合查询
以此案例举例: 使用IF({1,0})建立虚拟数据的方法,整体输入的公式是: =VLOOKUP(E2&F2,IF({1,0},A:A&B:B,C:C),2,0) 输入完公式之后,需要按 ...
- 如何为在线客服系统的 Web Api 后台主程序添加 Bootstrap 启动页面
背景 我在业余时间开发了一款自己的独立产品:升讯威在线客服与营销系统.这个系统的核心后台主程序,在最早期是完全没有页面,经常有朋友部署之后,一访问是 404,以为没有部署成功.我一看这肯定不行啊,可后 ...
- C++顺序结构(2)学习任务
在坚果云中注册免费个人云盘 一.视频下载存放在规划好的文件夹中,并观看学习 1.变量存储.注释 2.四则运算.输入 3.认识设置DEV-C++ 4.第一个C++程序 5.头文件 6.命名空间 7.co ...
- vue3笔记
如何创建vue3项目 基于 vue 脚手架 npm i @vue/cli -g vue create <project-name> cd <project-name> npm ...
- 企业IT基础资源管理的“帮帮团”上线啦——源启云原生基础设施管理平台
为助力企业提升基础资源一体化管理和交付效率,以更先进的基础设施管理方式来满足现代企业业务持续扩展和复杂化的需要,中电金信运用基础设施即代码(Infrastructure as Code,简称IaC)技 ...
- Spring注解之-@ConditionalOnExpression表达式
@ConditionalOnExpression("'true") 当括号中的内容为true时,使用该注解的类被实例化,支持语法如下: @ConditionalOnExpressi ...
- Qt开源作品2-视频流播放vlc内核
一.前言 上一个作品是ffmpeg内核做的,由于ffmpeg太过于强大,很多初学者会看的云里雾里懵逼状态,也有很多用户只需要一个简单的播放视频流即可,根本不需要涉及到负责的解码转码等,于是vlc就上场 ...