当前位置: 首页 > news >正文

如何做一个无符号数识别程序

1.状态分析

我们可以把无符号数分为:整数,带小数,带指数部分三种形式。以此构建一个DFA。首先需识别输入是整数还是小数点,若是整数部分输入然后还要再循环识别一次是否有小数点,最后识别是否有指数部分,指数部分可以带有符号。

2.画出状态图

下图种d代表整数,不在状态图中的情况则表示这不是无符号数

3.构造状态矩阵

状态图种不存在的情况则标为-1

.E/e+/-dother
03-1-1-1-1
124-11-1
2-14-12-1
3-1-1-12-1
4-1-156-1
5-1-1-16-1
6-1-1-16-1

4.程序实现

#include <iostream>
#include <string>
using namespace std;// 状态转换表0: . 1: e 2: + or - 3: 0-9 4: other
int state[7][5] = {{3, -1, -1, 1, -1},{2, 4, -1, 1, -1},{-1, 4, -1, 2, -1},{-1, -1, -1, 2, -1},{-1, -1, 5, 6, -1},{-1, -1, -1, 6, -1},{-1, -1, -1, 6, -1}
};
int allend[3] = {1, 2, 6}; //可以结束的状态int judge(char change) {if (change == '.') return 0;else if (change == 'E' || change == 'e') return 1;else if (change == '+' || change == '-') return 2;else if (change >= '0' && change <= '9') return 3;else return 4;
} //跳转函数int isend(int now) {for (int i = 0; i < 3; i++) {if (now == allend[i]) return 1;}return 0;
} // 判断是否为结束状态int main() {string s;while (cin >> s) {int now = 0;for (int i = 0; i < s.length(); i++) {cout << now << "->";int index = judge(s[i]);now = state[now][index];cout << now << endl;if (now == -1) break; // 发现不是无符号数}if (isend(now) == 1) cout << "yes\n";else cout << "no\n";}return 0;
}

相关文章:

如何做一个无符号数识别程序

1.状态分析 我们可以把无符号数分为&#xff1a;整数&#xff0c;带小数&#xff0c;带指数部分三种形式。以此构建一个DFA。首先需识别输入是整数还是小数点&#xff0c;若是整数部分输入然后还要再循环识别一次是否有小数点&#xff0c;最后识别是否有指数部分&#xff0c;指…...

C++初阶:C/C++内存管理

一.C/C内存分布 先来回顾一下C语言内存分区示意图如下&#xff1a; 代码区&#xff1a; 程序执行代码一般存放在代码区&#xff0c;字符串常量以及define定义的常量也可能存放在代码区。 常量区&#xff1a; 字符串&#xff0c;数字等常量以及const修饰的全局变量往往存放在…...

新成果展示:AlGaN/GaN基紫外光电晶体管的设计与制备

紫外光电探测器被广泛应用于导弹预警、火灾探测、非可见光通信、环境监测等民事和军事领域&#xff0c;这些应用场景的实现需要器件具有高信噪比和高灵敏度。因此&#xff0c;光电探测器需要具备响应度高、响应速度快和暗电流低的特性。近期&#xff0c;天津赛米卡尔科技有限公…...

Ivs+keepalived:高可用集群

Ivskeepalived:高可用集群 keepalived为lvs应运而生的高可用服务。lvs的调度器无法做高可用&#xff0c;keepalived这个软件就是为了实现调度器的高可用。 注意&#xff1a;keepalived不是专门为lvs集群服务的&#xff0c;也可以做其他代理服务器的高可用。 lvs的高可用集群&a…...

win10安装spark

一、进入spark下载页面 连接 Downloads | Apache Spark 二、解压下载后的.tgz文件 直接解压即可 三、运行 运行bin目录下的 spark-shell.cmd 提示 Did not find winutils.exe: java.io.FileNotFoundException: java.io.FileNotFoundException: HADOOP_HOME and hadoop.hom…...

基于Spring Boot 的毕业生实习就业管理系统(绿色)

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于Spring Boot 的毕业生实习就业管理系…...

1600*C. Remove Adjacent(贪心字符串)

Problem - 1321C - Codeforces 解析&#xff1a; 贪心&#xff0c;从z到a遍历&#xff0c;每次循环减去符合题意的字符。 #include<bits/stdc.h> using namespace std; signed main(){int n;string s;cin>>n>>s;for(char iz;i>a;i--){for(int j0;j<s.…...

CRC校验码2018-架构师(六十一)

以下关于串行总线的说法中&#xff0c;正确的是&#xff08;&#xff09;。 串行总线一般都是双全工总线&#xff0c;适宜于长距离传输数据串行总线传输的波特率是总线初始化时预先定义好的&#xff0c;使用中不可改变串行总线是按位&#xff08;BIT&#xff09;传输数据的&am…...

CSS设置超出范围滚动条和滚动条样式

CSS设置超出范围滚动条和滚动条样式 效果展示 当块级内容区域超出块级元素范围的时候&#xff0c;就会以滚动条的形式展示&#xff0c;你可以滚动里面的内容&#xff0c;里面的内容不会超出块级区域范围。 未设置超出隐藏&#xff0c;显示滚动条 超出隐藏&#xff0c;显示滚动…...

EtherCAT从站转CclinkIE协议网关应用案例

远创智控的YC-ECT-CCLKIE网关&#xff0c;一款具有强大功能的ETHERCAT通讯网关。 它可以将ETHERCAT网络和CCLINK IE FIELD BASIC网络无缝连接起来。作为ETHERCAT总线中的从站&#xff0c;本网关可以接收来自ETHERCAT主站的数据&#xff0c;并将其传输到CCLINK IE FIELD BASIC网…...

腾讯云 AI 绘画:文生图、图生图、图审图 快速入门

腾讯云 AI 绘画是腾讯云推出的一款基于人工智能的图像生成和编辑产品&#xff0c;能够根据输入的图片或描述文本&#xff0c;智能生成与输入内容相关的图片&#xff0c;支持多样化的图片风格选择。 在本文中&#xff0c;我们将介绍如何使用腾讯云 AI 绘画的三项主要功能&#…...

前端项目中,强缓存和协商缓存的配置

前端缓存分为HTTP缓存和浏览器缓存 HTTP缓存(本文重点) 强缓存协商缓存 浏览器缓存 比较熟悉的 cookie&#xff0c;localstorage sessionstorage indexDB…或者cacheStorage 请求的缓存&#xff0c;如果本地有取本地的 这里主要笔记http缓存 先说总结的内容 webpack配置&am…...

【LeetCode】2. 两数相加

题目链接 文章目录 Python3方法&#xff1a; 模拟 ⟮ O ( n ) 、 O ( 1 ) ⟯ \lgroup O(n)、O(1)\rgroup ⟮O(n)、O(1)⟯ C Python3 方法&#xff1a; 模拟 ⟮ O ( n ) 、 O ( 1 ) ⟯ \lgroup O(n)、O(1)\rgroup ⟮O(n)、O(1)⟯ # Definition for singly-linked list. # cl…...

springBoot与Vue共同搭建webSocket环境

欢迎使用Markdown编辑器 你好&#xff01; 这片文章将教会你从后端springCloud到前端VueEleementAdmin如何搭建Websocket 前端 1. 创建websocket的配置文件在utils文件夹下websocket.js // 暴露自定义websocket对象 export const socket {// 后台请求路径url: ,websocketCo…...

【Python】collections.Counter

Python内置模块collections中的Counter是字典子类。Counter不是字典&#xff0c;但很像字典。 Counter具有字典的键和值&#xff0c;键是各个元素&#xff0c;值为该元素出现的次数。 Counter相当于计数器。常用于哈希映射&#xff08;哈希表&#xff09;。 from collection…...

【Elasticsearch】es脚本编程使用详解

目录 一、es脚本语言介绍 1.1 什么是es脚本 1.2 es脚本支持的语言 1.3 es脚本语言特点 1.4 es脚本使用场景 二、环境准备 2.1 docker搭建es过程 2.1.1 拉取es镜像 2.1.2 启动容器 2.1.3 配置es参数 2.1.4 重启es容器并访问 2.2 docker搭建kibana过程 2.2.1 拉取ki…...

Synchronized 关键字

在Java中&#xff0c;线程同步使用最多的方法是使用synchronized关键字。每个Java对象都隐含有一把锁&#xff0c;这里称为Java内置锁(或者对象锁、隐式锁)。使用synchronized(syncObject)调用相当于获取 syncObject 的内置锁&#xff0c;所以可以使用内置锁对临界区代码段进行…...

Maven系列第8篇:大型Maven项目,快速按需任意构建

本篇涉及到的内容属于神技能&#xff0c;多数使用maven的人都经常想要的一种功能&#xff0c;但是大多数人都不知道如何使用&#xff0c;废话不多说&#xff0c;上干货。 需求背景 我们需要做一个电商项目&#xff0c;一般都会做成微服务的形式&#xff0c;按业务进行划分&am…...

卷积神经网络(CNN)的组成结构以及其优点

卷积神经网络&#xff08;Convolutional Neural Network&#xff0c;简称CNN&#xff09;是一种深度学习模型&#xff0c;主要用于处理具有网格结构的数据&#xff0c;如图像和视频。它的结构包含以下几个关键组件&#xff1a; 卷积层&#xff08;Convolutional Layer&#xff…...

[③ADRV902x]: Digital Filter Configuration(接收端)

前言 本篇博客主要总结了ADRV9029 Rx接收端链路中各个滤波器的配置。配置不同的滤波器系数以及不同的参数&#xff0c;可以对输入的数字信号灵活得做decimation处理&#xff0c;decimation信号抽取&#xff0c;就是降低信号采样率的过程。 Receiver Signal Path 下图为接收端…...

AI艺术创作大赛:Shadow Sound Hunter生成作品展示

AI艺术创作大赛&#xff1a;Shadow & Sound Hunter生成作品展示 1. 引言 最近参加了一场AI艺术创作大赛&#xff0c;用Shadow & Sound Hunter模型生成了不少有意思的作品。这个模型在数字绘画、诗歌创作和音乐编曲方面都表现出色&#xff0c;让我看到了AI在艺术创作领…...

cool-admin(midway版)前端表单验证:AsyncValidator与异步校验完整指南

cool-admin(midway版)前端表单验证&#xff1a;AsyncValidator与异步校验完整指南 【免费下载链接】cool-admin-midway &#x1f525; cool-admin(midway版)一个很酷的后台权限管理框架&#xff0c;模块化、插件化、CRUD极速开发&#xff0c;永久开源免费&#xff0c;基于midwa…...

如何高效优化Windows系统性能:AtlasOS完整调优指南

如何高效优化Windows系统性能&#xff1a;AtlasOS完整调优指南 【免费下载链接】Atlas &#x1f680; An open and lightweight modification to Windows, designed to optimize performance, privacy and usability. 项目地址: https://gitcode.com/GitHub_Trending/atlas1/…...

秋招简历模板下载怎么选?6款主流简历模板工具深度测评

秋招季来临&#xff0c;对应届生来说&#xff0c;简历是踏入职场的第一块敲门砖&#xff0c;而一份贴合岗位需求、契合HR筛选思路的简历模板&#xff0c;既能降低简历制作难度&#xff0c;也是提高简历初筛通过率的关键。如今市面上的简历模板工具五花八门&#xff0c;功能定位…...

VS Code 效率技巧:符号导航快速定位代码

推荐阅读 技术总监悄悄秀了一把 VS Code 神技&#xff0c;被我狠狠学到了&#xff01; VS Code 又发布了一个 Agent 新玩具&#xff01; VS Code 1.110 官宣 AI 新特性&#xff1a;AI 直接调试浏览器&#xff01; VS Code 2026 效率秘籍&#xff1a;学完无敌&#xff01…...

为什么需要虚拟摄像头?OBS-VirtualCam 3大核心价值解析

为什么需要虚拟摄像头&#xff1f;OBS-VirtualCam 3大核心价值解析 【免费下载链接】obs-virtual-cam obs-studio plugin to simulate a directshow webcam 项目地址: https://gitcode.com/gh_mirrors/ob/obs-virtual-cam 在视频会议和在线教学中&#xff0c;你是否曾希…...

AWCII 040 CPU模块

AWCII 040 CPU 模块AWCII 040 是工业自动化控制系统中的中央处理单元&#xff08;CPU 模块&#xff09;&#xff0c;主要用于执行控制程序、数据运算及系统管理&#xff0c;是整个控制系统的核心“大脑”。一、基本概述AWCII 040 CPU 模块集成了处理器、存储单元及系统管理功能…...

大模型风口已至!普通人如何逆袭拿高薪?学员真实案例告诉你答案!

在人工智能飞速发展的今天&#xff0c;大模型已成为科技行业的核心赛道&#xff0c;无数人渴望抓住这波风口实现职业跃迁。而我们的大模型学员&#xff0c;用一份份亮眼的 offer&#xff0c;交出了完美答卷&#xff01; &#x1f31f; 平凡起点&#xff0c;非凡逆袭 他们中有**…...

动态间隙精准诊断:NHJX-13 型底盘间隙仪机动车底盘安全检测全方案

动态间隙精准诊断&#xff1a;NHJX-13 型底盘间隙仪机动车底盘安全检测全方案在机动车安全环保检测体系中&#xff0c;底盘间隙仪是诊断车辆转向机构、悬挂系统、传动部件间隙状况的核心设备&#xff0c;尤其对大中型客车、重中型货车等营运车辆&#xff0c;其性能直接决定底盘…...

Phi-3-mini-4k-instruct-gguf代码实例:Python requests调用Web API完整示例

Phi-3-mini-4k-instruct-gguf代码实例&#xff1a;Python requests调用Web API完整示例 1. 模型简介 Phi-3-mini-4k-instruct-gguf是微软Phi-3系列中的轻量级文本生成模型GGUF版本&#xff0c;特别适合问答、文本改写、摘要整理和简短创作等场景。这个经过优化的版本可以直接…...