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语法--数据类型的更多相关文章

  1. Java学习笔记之基础语法(数据类型)

    8种基本数据类型    整型:   byte[1字节]          short[2字节]        int[4字节]         long[8字节]      1,四种整型之间的区别:申 ...

  2. Arduino语法详解_含示例详解

    Arduino 的程序可以划分为三个主要部分:结构.变量(变量与常量).函数. 结构部分 一.结构 1.1 setup() 1.2 loop() 二.结构控制 2.1 if 2.2 if...else ...

  3. Arduino 语法与函数

    Arduino programs can be divided in three main parts: structure, values (variables and constants), an ...

  4. javascript高级编程3第三章:基本概念 本章内容 语法 数据类型 流控制语句 函数

    3.1 语法 ECMAScript的语法大量借鉴了C及其他类C语言的语法. 3.1.1 区分大小写 3.1.2 标识符 所谓标识符,就是值变量.函数.属性的名字,或者函数的参数.标识符可以是按照下列格 ...

  5. 第2章 Python基础语法 -- 数据类型

    2.2数据类型 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间.基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中. 2.2.1 标准数据类型 在内存中存储 ...

  6. Arduino语法-变量和常量

    变量的声明: int led=11 一般变量的声明方法为类型名+变量名+变量初始化值.变量名的写法约定为首字母小写 变量的作用范围又称为作用域,变量的作用范围与该变量在哪儿声明有关,大致分为如下两种: ...

  7. Arduino基本数据类型

    基本数据类型简介 常见的Arduino是基于ATmega的8位 AVR单片机,例如Arduino UNO ,Arduino Nano,Arduino mega2560等.还有高级点 32位的,如Ard ...

  8. C语言笔记 02_基本语法&数据类型&变量

    基本语法 令牌 C 程序由各种令牌组成,令牌可以是关键字.标识符.常量.字符串值,或者是一个符号.例如,下面的 C 语句包括五个令牌: printf("Hello, World! \n&qu ...

  9. JavaScript---js语法,数据类型及方法, 数组及方法,JSON对象及方法,日期Date及方法,正则及方法,数据类型转换,运算符, 控制流程(三元运算),函数(匿名函数,自调用函数)

    day46 一丶javascript介绍 JavaScript的基础分为三个       1.ECMAScript:JavaScript的语法标准.包括变量,表达式,运算符,函数,if语句,for语句 ...

  10. 【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字节 ...

随机推荐

  1. json数据对接

    1.前言 fastadmin框架本身封装了一系列接口和插件来对表格数据进行管理(新增,编辑,删除),但是其使用的bootstrapTable基于jquery开发,基于某些原因,我们想要使用Vue框架代 ...

  2. HTML5 A链接

    1.基本使用 a标签常用属性: 属性名 说明 href 规定链接的目标 URL target 已什么形式打开这个连接 target属性有以下几个值 属性名 说明 _self 默认,当前页面跳转 _bl ...

  3. 关于 K8s 的一些基础概念整理-补充【k8s系列之五】

    〇.前言 本文继续整理下 K8s 的一些基础概念,作为前一篇概念汇总的补充. 前一篇博文链接:https://www.cnblogs.com/hnzhengfy/p/k8s_concept.html. ...

  4. 【分享】记一次项目迁移(docker java | docker python)

    项目:前端Vue3,后端Python+Java,数据库Redis+MySQL 原先部署在centos7里面的,使用的宝塔面板部署的,还算方便. 但是服务器要到期了,要将项目迁移到另外一台服务器. 另外 ...

  5. 【C#】【MySQL】【配置数据源】SSL Connection error 发生一个或多个错误。由于·意外的数据包格式,握手失败

    [编程语言]C# [数据库]MySQL [控件]SqlDataSource [问题描述]使用SqlDataSource远程连接数据库时,测试连接发生如下错误:"SSL Connection ...

  6. 【Python自动化】selenium简单应用

    准备工作 查询浏览器版本 chrome://version/ 下载驱动 https://chromedriver.storage.googleapis.com/index.html 下载的驱动版本要和 ...

  7. pygame基础功能总结

    1.导入Pygame模块 (1) 模块并初始化 ① Import pygame ② Pygame.init() (2) 创建窗体 ① Window_size = (800,600)  长宽 ② Scr ...

  8. Qt/C++中英输入法/嵌入式输入法/小数字面板/简繁切换/特殊字符/支持Qt456

    一.前言 在嵌入式板子上由于没有系统层面的输入法支持,所以都绕不开一个问题,那就是在需要输入的UI软件中,必须提供一个输入法来进行输入,大概从Qt5.7开始官方提供了输入法的源码,作为插件的形式加入到 ...

  9. Qt/C++音视频开发62-电子放大/按下选择区域放大显示/任意选取区域放大

    一.前言 电子放大这个功能思考了很久,也是一直拖到近期才静下心来完整这个小功能,这个功能的前提,主要得益于之前把滤镜打通了,玩出花样来了,只要传入对应的滤镜字符串,就可以实现各种各样的效果,然后查阅滤 ...

  10. Qt音视频开发4-vlc读取和控制

    一.前言 vlc本身是个全功能的很牛逼的播放器,你能够想到的播放的功能他都有,比如获取视频文件的长度.唱片的封面.当前播放进度.设置播放进度.声音控制.静音控制等,这些vlc都给你封装好了,你直接调用 ...