PHP做网站案例教程网站建设平台源码

bicheng/2026/1/18 11:37:47/文章来源:
PHP做网站案例教程,网站建设平台源码,沈阳网站制作公司哪家好,seo编辑培训esp32cam /* 下载程序 按住接口板上的IO0 在程序上传的时候 按一下 开发板上的rst按钮 待程序开始上传 在松开 IO0 brownout detector was triggered报错 触发了断电探测器#xff0c;估计是供电环境本来就不稳定 屏蔽 #include soc/soc.h #include so…esp32cam /* 下载程序 按住接口板上的IO0 在程序上传的时候 按一下 开发板上的rst按钮 待程序开始上传 在松开 IO0 brownout detector was triggered报错 触发了断电探测器估计是供电环境本来就不稳定 屏蔽 #include soc/soc.h #include soc/rtc_cntl_reg.hvoid setup() {WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0); //disable detector//Your code }*/#include soc/soc.h #include soc/rtc_cntl_reg.h #include WiFi.h //wifi功能需要的库 #include Arduino.h #include esp_camera.h #include vector #include WiFiUdp.h //引用以使用UDP WiFiUDP Udp; //声明UDP对象 const char* wifi_SSID esp32; //存储AP的名称信息 生成一个wifi 网络 方便客户端连接 const char* wifi_Password 12345678; //存储AP的密码信息 uint16_t udp_port 1122; //存储需要监听的端口号 eps32cam接收数据 和 往其他客户端 发送数据的端口 #define maxcache 1430 //图片数据分帧发送 bool is_tran_camera false; //是否传输视频数据 IPAddress ip_address; //客户端的ip#define PWDN_GPIO_NUM 32 #define RESET_GPIO_NUM -1 #define XCLK_GPIO_NUM 0 #define SIOD_GPIO_NUM 26 #define SIOC_GPIO_NUM 27#define Y9_GPIO_NUM 35 #define Y8_GPIO_NUM 34 #define Y7_GPIO_NUM 39 #define Y6_GPIO_NUM 36 #define Y5_GPIO_NUM 21 #define Y4_GPIO_NUM 19 #define Y3_GPIO_NUM 18 #define Y2_GPIO_NUM 5 #define VSYNC_GPIO_NUM 25 #define HREF_GPIO_NUM 23 #define PCLK_GPIO_NUM 22 static camera_config_t camera_config {.pin_pwdn PWDN_GPIO_NUM,.pin_reset RESET_GPIO_NUM,.pin_xclk XCLK_GPIO_NUM,.pin_sscb_sda SIOD_GPIO_NUM,.pin_sscb_scl SIOC_GPIO_NUM,.pin_d7 Y9_GPIO_NUM,.pin_d6 Y8_GPIO_NUM,.pin_d5 Y7_GPIO_NUM,.pin_d4 Y6_GPIO_NUM,.pin_d3 Y5_GPIO_NUM,.pin_d2 Y4_GPIO_NUM,.pin_d1 Y3_GPIO_NUM,.pin_d0 Y2_GPIO_NUM,.pin_vsync VSYNC_GPIO_NUM,.pin_href HREF_GPIO_NUM,.pin_pclk PCLK_GPIO_NUM,.xclk_freq_hz 20000000,.ledc_timer LEDC_TIMER_0,.ledc_channel LEDC_CHANNEL_0,.pixel_format PIXFORMAT_JPEG,.frame_size FRAMESIZE_VGA,.jpeg_quality 12,.fb_count 1, }; //摄像头初始化 esp_err_t camera_init() {//initialize the cameraesp_err_t err esp_camera_init(camera_config);if (err ! ESP_OK) {Serial.println(Camera Init Failed!);return err;}sensor_t* s esp_camera_sensor_get();//initial sensors are flipped vertically and colors are a bit saturatedif (s-id.PID OV2640_PID) {// s-set_vflip(s, 1);//flip it back// s-set_brightness(s, 1);//up the blightness just a bit// s-set_contrast(s, 1);}return ESP_OK; } //接收数据的处理函数 void recv_data() {int packetSize Udp.parsePacket(); //获取当前队首数据包长度if (packetSize) //如果有数据可用{char buf[packetSize];Udp.read(buf, packetSize); //读取当前包数据ip_address Udp.remoteIP();String tmp String(buf);//打开视频数据传输if(tmp.substring(0,5) camon){is_tran_camera true;Udp.beginPacket(ip_address, udp_port);Udp.print(Camera is ON!);Udp.endPacket();}else if(tmp.substring(0,6) camoff){ // 关闭视频数据传输is_tran_camera false;Udp.beginPacket(ip_address, udp_port);Udp.print(Camera is OFF!);Udp.endPacket();}else{Udp.beginPacket(ip_address, udp_port);Udp.print(RecvData: tmp);Udp.endPacket();}} } // 传输视频数据 void cssp() {camera_fb_t* fb esp_camera_fb_get();uint8_t* temp fb-buf; //这个是为了保存一个地址在摄像头数据发送完毕后需要返回否则会出现板子发送一段时间后自动重启不断重复if (!fb) {// Serial.print(Camera Capture Failed!);Udp.beginPacket(ip_address, udp_port);Udp.print(Camera Capture Failed!);Udp.endPacket();} else {Udp.beginPacket(ip_address, udp_port);Udp.print(FrameBegin); //视频数据的标志头Udp.endPacket();// 将图片数据分段发送int leng fb-len;int timess leng / maxcache;int extra leng % maxcache;for (int j 0; j timess; j) {Udp.beginPacket(ip_address, udp_port);Udp.write(fb-buf, maxcache);Udp.endPacket();for (int i 0; i maxcache; i) {fb-buf;}}// 发送剩余数据Udp.beginPacket(ip_address, udp_port);Udp.write(fb-buf, extra);Udp.endPacket();Udp.beginPacket(ip_address, udp_port);Udp.print(FrameOverr); //视频数据的标志尾Udp.endPacket();// Serial.print(This Frame Length:);// Serial.print(fb-len);// Serial.println(. \t Succes To Send Image For UDP!);//return the frame buffer back to the driver for reusefb-buf temp; //将当时保存的指针重新返还esp_camera_fb_return(fb); //这一步在发送完毕后要执行具体作用还未可知。}delay(20); //不加延时会导致数据发送混乱 稍微延时增加数据传输可靠性 } // udp服务初始化 void udp_init() {WiFi.softAP(wifi_SSID, wifi_Password); //打开ESP32热点Udp.begin(udp_port); //启动UDP监听这个端口 } void setup() {delay(5000);Serial.begin(115200); //开启串口波特率为115200//在创建udp服务以后 使用串口输出数据会报错 开发板一直重启 WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0); //disable detector 屏蔽 brownout detector was triggered报错 防止一直重启 udp_init();camera_init();Serial.print(WiFi.softAPIP()); //串口输出模块IP地址Serial.print(:); //串口输出模块IP地址Serial.println(udp_port); Serial.println(Sys Is Running!); }void loop() {recv_data();if (is_tran_camera) {cssp();} } Android ?xml version1.0 encodingutf-8? LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:toolshttp://schemas.android.com/toolsandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:orientationverticaltools:context.MainActivityTextViewandroid:idid/local_ip_kjandroid:layout_widthmatch_parentandroid:layout_height60dpandroid:text /TextViewandroid:idid/local_port_kjandroid:layout_widthmatch_parentandroid:layout_height60dpandroid:text /Buttonandroid:idid/startudp_btn_kjandroid:layout_widthmatch_parentandroid:layout_height60dpandroid:text开启UDP服务 /ImageViewandroid:idid/show_cam_kjandroid:layout_widthmatch_parentandroid:layout_height220dpandroid:background#333android:scaleTypecenterandroid:layout_marginBottom4dp/TextViewandroid:idid/recv_data_kjandroid:layout_widthmatch_parentandroid:layout_height100dpandroid:text /TextViewandroid:idid/remote_ip_kjandroid:layout_widthmatch_parentandroid:layout_height60dpandroid:text192.168.4.1 /TextViewandroid:idid/remote_port_kjandroid:layout_widthmatch_parentandroid:layout_height60dpandroid:text1122 /EditTextandroid:idid/msg_kjandroid:layout_widthmatch_parentandroid:layout_height60dpandroid:text /Buttonandroid:idid/send_btn_kjandroid:layout_widthmatch_parentandroid:layout_height60dpandroid:text发送 //LinearLayoutpackage com.example.esp32cam_udp;import androidx.appcompat.app.AppCompatActivity;import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast;import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import java.net.SocketException; import java.net.UnknownHostException;public class MainActivity extends AppCompatActivity {private TextView local_ip_kj,local_port_kj,remote_ip_kj,remote_port_kj,recv_data_kj;private Button startudp_btn_kj,send_btn_kj;private ImageView show_cam_kj;private EditText msg_kj;String local_ip ;int port 1122;private DatagramSocket socket; //接收数据用的socketint data_len 1430;//与esp32cam约定的数据传输的长度int headFlag 0;// 0 数据流不是图像数据 1 数据流是图像数据byte[] RevBuff new byte[data_len];//定义接收数据流的包的大小byte[] temp new byte[0]; //存放一帧图像的数据Bitmap bitmap null; //展示图片MyHandler myHandler; //处理信息String recv_data ; //保存接收到的非图像数据Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);myHandler new MyHandler();show_cam_kj findViewById(R.id.show_cam_kj);local_ip_kj findViewById(R.id.local_ip_kj);local_port_kj findViewById(R.id.local_port_kj);remote_ip_kj findViewById(R.id.remote_ip_kj);remote_port_kj findViewById(R.id.remote_port_kj);msg_kj findViewById(R.id.msg_kj);startudp_btn_kj findViewById(R.id.startudp_btn_kj);send_btn_kj findViewById(R.id.send_btn_kj);recv_data_kj findViewById(R.id.recv_data_kj);//获取本机ip地址local_ip IPUtils.getIpAddress(this);Message msg myHandler.obtainMessage();msg.what 0;msg.obj local_ip;myHandler.sendMessage(msg);//Log.e(IP,local_ip); // 开启udp服务startudp_btn_kj.setOnClickListener(new View.OnClickListener() {Overridepublic void onClick(View view) {//生成接受数据使用的sockettry {InetAddress serverAdder InetAddress.getByName(local_ip); //本手机的ip地址socket new DatagramSocket(port,serverAdder);Message msg myHandler.obtainMessage();msg.what 1;msg.obj UDP服务开启成功;myHandler.sendMessage(msg); // 开启接收数据的线程new Thread(new RecvData()).start();} catch (SocketException | UnknownHostException e) {e.printStackTrace();}}}); // 发送消息send_btn_kj.setOnClickListener(new View.OnClickListener() {Overridepublic void onClick(View view) {new Thread(new SendData()).start();}});}public class SendData implements Runnable{Overridepublic void run() {String server_ip remote_ip_kj.getText().toString();int server_port Integer.parseInt(remote_port_kj.getText().toString());InetAddress server_serverAdder null;try {server_serverAdder InetAddress.getByName(server_ip);} catch (UnknownHostException e) {throw new RuntimeException(e);}DatagramSocket send_socket null;try {send_socket new DatagramSocket();} catch (SocketException e) {throw new RuntimeException(e);}String tmp msg_kj.getText().toString();byte[] buf tmp.getBytes();DatagramPacket send_packet new DatagramPacket(buf, buf.length, server_serverAdder, server_port);try {send_socket.send(send_packet);} catch (IOException e) {throw new RuntimeException(e);}send_socket.close();}}// 接收数据的线程public class RecvData implements Runnable {public void run() {// 接收UDP广播有的手机不支持while (true) {byte[] recbuf new byte[data_len];DatagramPacket recpacket new DatagramPacket(recbuf,recbuf.length);try {socket.receive(recpacket);RevBuff recpacket.getData(); // 图像数据包的头 FrameBeginboolean begin_cam_flag RevBuff[0] 70 RevBuff[1] 114 RevBuff[2] 97 RevBuff[3] 109 RevBuff[4] 101 RevBuff[5] 66 RevBuff[6] 101 RevBuff[7] 103 RevBuff[8] 105 RevBuff[9] 110; // 图像数据包的尾 FrameOverrboolean end_cam_flag RevBuff[0] 70 RevBuff[1] 114 RevBuff[2] 97 RevBuff[3] 109 RevBuff[4] 101 RevBuff[5] 79 RevBuff[6] 118 RevBuff[7] 101 RevBuff[8] 114 RevBuff[9] 114;if (headFlag 0 begin_cam_flag) {headFlag 1;} else if (end_cam_flag) { //判断包是不是图像的结束包 是的话 将数据传给 myHandler 3 同时将headFlag置0Message msg myHandler.obtainMessage();msg.what 3;myHandler.sendMessage(msg);headFlag 0;} else if (headFlag 1) { //如果 headFlag 1 说明包是图像数据 将数据发给byteMerger方法 合并一帧图像temp byteMerger(temp, RevBuff);}else{//接收到的非图像数据Message msg myHandler.obtainMessage();msg.what 2;msg.obj new String(RevBuff); //字符串长度myHandler.sendMessage(msg); // Log.v(Message:,new String(RevBuff));}} catch (IOException e) {e.printStackTrace();}}}}//处理一些不能在线程里面执行的信息class MyHandler extends Handler {public void handleMessage(Message msg){super.handleMessage(msg);switch (msg.what){case 0: // 获取ip c成功local_ip_kj.setText(local_ip);local_port_kj.setText(String.valueOf(port));break;case 1: // UDP服务开启成功Toast.makeText((Context) MainActivity.this, msg.obj.toString(),Toast.LENGTH_SHORT).show();break;case 2: // 处理接收到的非图像数据 // Toast.makeText((Context) MainActivity.this, msg.obj.toString(),Toast.LENGTH_SHORT).show();String tmp recv_data msg.obj.toString() \n;recv_data tmp;recv_data_kj.setText(tmp);break;case 3:try {//处理接受到的图像数据 并展示bitmap BitmapFactory.decodeByteArray(temp, 0,temp.length);show_cam_kj.setImageBitmap(bitmap);//这句就能显示图片(bitmap数据没问题的情况下) 存在图像闪烁情况 待解决temp new byte[0]; //一帧图像显示结束 将 temp清零}catch (Exception e){Log.i(Error,Error image data!);}break;default: break;}}}// 合并一帧图像数据 a 全局变量 temp b 接受的一个数据包 RevBuffpublic byte[] byteMerger(byte[] a,byte[] b){int i a.length b.length;byte[] t new byte[i]; //定义一个长度为 全局变量temp 和 数据包RevBuff 一起大小的字节数组 tSystem.arraycopy(a,0,t,0,a.length); //先将 temp先传过来的数据包放进 tSystem.arraycopy(b,0,t,a.length,b.length);//然后将后进来的这各数据包放进treturn t; //返回t给全局变量 temp}Overrideprotected void onDestroy() {super.onDestroy();socket.close();} }package com.example.esp32cam_udp;import android.content.Context; import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager;import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; import java.util.Enumeration;/*** * 版权Copyright LiYing 2015-2016. All rights reserved.* 作者liying - liruoer2008yeah.net* 日期2016/12/19 19:43* 版本1.0* 描述IP地址工具类* 备注返回本机IP地址 文件名称 IPUtils.java 与MainActivity并列位置* */ public class IPUtils {/*** 获取本机IPv4地址** param context* return 本机IPv4地址null无网络连接*/public static String getIpAddress(Context context) {// 获取WiFi服务WifiManager wifiManager (WifiManager) context.getSystemService(Context.WIFI_SERVICE);// 判断WiFi是否开启if (wifiManager.isWifiEnabled()) {// 已经开启了WiFiWifiInfo wifiInfo wifiManager.getConnectionInfo();int ipAddress wifiInfo.getIpAddress();String ip intToIp(ipAddress);return ip;} else {// 未开启WiFireturn getIpAddress();}}private static String intToIp(int ipAddress) {return (ipAddress 0xFF) . ((ipAddress 8) 0xFF) . ((ipAddress 16) 0xFF) . (ipAddress 24 0xFF);}/*** 获取本机IPv4地址** return 本机IPv4地址null无网络连接*/private static String getIpAddress() {try {NetworkInterface networkInterface;InetAddress inetAddress;for (EnumerationNetworkInterface en NetworkInterface.getNetworkInterfaces(); en.hasMoreElements(); ) {networkInterface en.nextElement();for (EnumerationInetAddress enumIpAddr networkInterface.getInetAddresses(); enumIpAddr.hasMoreElements(); ) {inetAddress enumIpAddr.nextElement();if (!inetAddress.isLoopbackAddress() !inetAddress.isLinkLocalAddress()) {return inetAddress.getHostAddress();}}}return null;} catch (SocketException ex) {ex.printStackTrace();return null;}} } uses-permission android:nameandroid.permission.INTERNET/uses-permission android:nameandroid.permission.ACCESS_WIFI_STATE/ /manifest

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

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

相关文章

南京工程建设招聘信息网站宁波建网站推荐

PostgreSQL 9.3 就提供了事件触发器功能,可以基于 DDL 语句触发相应的操作。 正在开发中的 PostgreSQL 17 增加了基于登录事件的触发器,可以在用户登录时执行某些检查或者特定操作。登录事件触发器的使用方法和其他触发器一样:创建一个返回 …

wordpress直接访问站点施工企业招标领导小组组长的职责

引言 在机器学习领域,数据降维是一种常用的技术,旨在减少数据集的维度,同时保留尽可能多的有用信息。数据降维可以帮助我们解决高维数据带来的问题,提高模型的效率和准确性。本文将详细介绍机器学习中的数据降维方法和技术&#…

汕尾网站建设公司中交建设集团网站

最近在AMESIM与MATLAB进行联合仿真的时候遇到如下问题: Make failed:Unable to create an excutable for the system. 看了网上的解决办法如下 配置环境变量重装AMESIM,有顺序要求,首先是VS,然后是AMESIM与MATLAB。在AMESIM安装…

做暧暧暧昧网站山东竞价推广公司

第8章:软件定义网络(SDN)与网络功能虚拟化(NFV) 文章目录 8.1 SDN 架构与原理 - 智能网络的构建积木8.1.1 基础知识8.1.2 重点案例:使用 Python 控制 OpenFlow 交换机准备工作Python 脚本示例 8.1.3 拓展案…

北京建设网站合同下载seo是什么级别

一、Beanutils中的copyProperties是我们在日常开发中常用的一个方法。 作用: 将a实体类中的属性赋值到b实体类中相对于的字段上 1.我们前端传参的时候我们后端通常会用vo实体类来接收,但是更新数据库的时候需要用do去操作 2.我们将vo的属性copy到do中可…

福田区建设局网站哈尔滨口碑好的网站建设

《Windows Azure Platform 系列文章目录》 把之前Azure ASM的PowerShell都整理好了。 https://github.com/leizhang1984/AzureChinaPowerShell

网站搭建的流程济南网站建设公

目录 一、LCCP方法二、代码实现三、实验结果四、总结五、相关链接 一、LCCP方法 LCCP指的是Local Convexity-Constrained Patch,即局部凸约束补丁的意思。LCCP方法的基本思想是在图像中找到局部区域内的凸结构,并将这些结构用于分割图像或提取特征。这种…

新乡网站建设网站收录率

PyTorch深度学习实战(5)——计算机视觉 0. 前言1. 图像表示2. 将图像转换为结构化数组2.1 灰度图像表示2.2 彩色图像表示 3 利用神经网络进行图像分析的优势小结系列链接 0. 前言 计算机视觉是指通过计算机系统对图像和视频进行处理和分析,利…

网站设计师绩效做微信小程序和网站那个简单

Linxu自动化构建工具make/Makefile究竟时什么? 一、简介二、makefile文件制作(简洁版)2.1 源文件2.2 makefile如何制作2.2.1 依赖关系、依赖方法2.2.3 伪目标(清理文件资源) 三、make/Makefile自动化原理3.1 伪目标为什…

asp怎么新建网站wordpress点评插件

1、在AI中,有没有和CD一样的调整文字间距的快捷键呀? 答:Alt+左右方向键移动箭头。 2、在AI中,如何像快速放大缩小编辑区域? 答:按住Alt滚动鼠标滚轮。 3、在AI中,如何设置圆角矩形的圆角大小? 答:点击圆角矩形工具,用鼠标点击画布,这里可以填。 4、在AI中,如何简单…

网站做多久能盈利怎样用自己电脑做网站

单例模式是一个经典设计模式,简要的说,一个类的单例模式就是它只能被实例化一次,实例变量在第一次实例化时就已经固定。 在Python中常见的单例模式有None,这就是一个很典型的设计,通常使用 if xxx is None或者if xxx …

上海平台网站建设报价外贸营销网页设计

阶段2: // 1.编写自己的Spring容器,实现扫描包,得到bean的class对象.2.扫描将 bean 信息封装到 BeanDefinition对象,并放入到Map.思路: 1.将 bean 信息封装到 BeanDefinition对象中,再将其放入到BeanDefinitionMap集合中,集合的结构大概是 key[beanName]–value[beanDefintion…

网站建设客户需求网络营销的定义是什么

题目 下载题目所给的压缩包后解压得到文本提示 由题目名可知为凯撒密码 根据提示格式为flag{},所以猜测前四个字符原文为flag 先来推测一下偏移量 a->f 偏移量为-5,按道理来说每个字符的偏移量都是一样的,但是对照过后发现后面的字符对…

电商门户网站常州网上车管所

一、概念 (1) 定义 在数据库系统中针对不同的使用对象和应用目的,采用不同的数据模型。根据模型的应用的不同目的,可以将这些模型划分为两类: (2) 分类 A:概念数据模型 它也称信息模型它是按用户的观点(观念世界&…

o2o网站建设方案讲解国内十大网站建设公司

Flink 系列文章 1、Flink 部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接 13、Flink 的table api与sql的基本概念、通用api介绍及入门示例 14、Flink 的table api与sql之数据类型: 内置数据类型以及它们的属性 15、Flink 的ta…

江苏建设管理信息网站wordpress 写模版

题目难度: 简单原题链接 题目描述给定一个字符串,编写一个函数判定其是否为某个回文串的排列之一。回文串是指正反两个方向都一样的单词或短语。排列是指字母的重新排列。回文串不一定是字典当中的单词。示例 1:输入:"tactcoa" 输出…

展厅设计说明200字seo自然排名优化

最近遇到一个需求&#xff0c;一个古早的移动端 juery 项目要求做一个页面&#xff0c;从接口获取 pdf 文件流&#xff0c;然后预览出来 这里使用第三方工具&#xff1a;pdf.js 代码如下&#xff1a; // 引入相关文件<script src"../js/pdf.js" type"text…

湖北网站建设 鄂 icp小程序ui界面设计

动态规划&#xff1a; 1.先声明dp数组的含义为下标i表示的是在s变量中i前面的字符串是否在wordDict变量中存在&#xff0c;初始化dp【0】来进行后面dp数组的递推。同时要判断截取的值是否在wirdDict中是否存在&#xff0c;还要判断dp【j】的下标的j前面的字符串是否也在wirdDi…

怎么用ps做网站效果图市场调查数据分析

前言&#xff1a;在前面我们知道在类和对象中有六个默认成员函数&#xff0c;并学习了其中三个构造函数、析构函数、拷贝构造函数&#xff0c;今天我们将进一步的学习.赋值运算符重载。 &#x1f496; 博主CSDN主页:卫卫卫的个人主页 &#x1f49e; &#x1f449; 专栏分类:高质…

wordpress is_tag百度智能建站适合优化吗

一、数据类型 数据类型分为数值型、布尔型、字符串型等 1.1数值类型 数值类型可以分为整数类型、浮点数类型、复数类型 1.1.1整数类型 (1)概念&#xff1a;整数类型指数值是没有小数部分的&#xff0c;包含正整数、负整数和0 (2)进制种类&#xff1a;十进制--->234、5…