计算机中数的表示

0. 简介

介绍计算机中数的表示方法,主要内容来自 c s a p p csapp csapp

1. 整数的表示

包括有符号整数与无符号整数的表示。

假设
w → = [ w n − 1 w n − 2 . . . w 0 ] \overrightarrow w=[w_{n-1}w_{n-2}...w_0] w =[wn1wn2...w0]
为一种整数。

1.1 无符号整数

计算机是二进制的,且数据长度固定。

所以无符号二进制数实际上直接表示即可。

B 2 U ( w → ) = ∑ i = 0 n − 1 w i × 2 i B2U(\overrightarrow w)=\sum_{i=0}^{n-1}w_i \times 2^{i} B2U(w )=i=0n1wi×2i

1.2 有符号整数
  1. 补码编码
    最高位来表示符号位
    B 2 T ( w → ) = − w n − 1 ∗ 2 n − 1 + ∑ i = 0 n − 2 w i × 2 i B2T(\overrightarrow w)=-w_{n-1}*2^{n-1}+\sum_{i=0}^{n-2}w_i\times2^i B2T(w )=wn12n1+i=0n2wi×2i
    所以范围为有符号整数范围为 − 2 n − 1 ∼ 2 n − 1 − 1 -2^{n-1}\sim 2^{n-1}-1 2n12n11

  2. 反码编码
    B 2 O ( w → ) = − w n − 1 ∗ ( 2 n − 1 − 1 ) + ∑ i = 0 n − 2 w i × 2 i B2O(\overrightarrow w)=-w_{n-1}*(2^{n-1}-1)+\sum_{i=0}^{n-2}w_i\times2^i B2O(w )=wn1(2n11)+i=0n2wi×2i

  3. 原码编码
    B 2 S ( w → ) = ( − 1 ) w n − 1 ⋅ ∑ i = 0 n − 2 w i × 2 i B2S(\overrightarrow w)=(-1)^{w_{n-1}} \cdot \sum_{i=0}^{n-2}w_i \times2^i B2S(w )=(1)wn1i=0n2wi×2i

为什么使用补码?原码和反码的表示中,对于 0 0 0的表示有歧义。 + 0 ( 0000   0000 ) +0(0000\ 0000) +0(0000 0000) − 0 ( 1000   0000 ) -0(1000\ 0000) 0(1000 0000)

1.3 有符号数与无符号数间转换

无符号数转有符号数
B 2 U ( w → ) = ∑ i = 0 n − 1 w i × 2 i = w n − 1 ∗ 2 n − 1 + ∑ i = 0 n − 2 w i × 2 i B 2 T ( w → ) = − w n − 1 ∗ 2 n − 1 + ∑ i = 0 n − 2 w i × 2 i \begin{align} B2U(\overrightarrow w)=\sum_{i=0}^{n-1}w_i \times 2^i=w_{n-1} *2^{n-1} +\sum_{i=0}^{n-2}w_i \times 2^i\\ B2T(\overrightarrow w)=-w_{n-1}*2^{n-1}+\sum_{i=0}^{n-2}w_i\times2^i \end{align} B2U(w )=i=0n1wi×2i=wn12n1+i=0n2wi×2iB2T(w )=wn12n1+i=0n2wi×2i
( 2 ) − ( 1 ) (2)-(1) (2)(1)得到
B 2 T ( w → ) − B 2 U ( w → ) = − w n − 1 ∗ 2 n B2T(\overrightarrow w)-B2U(\overrightarrow w)=-w_{n-1} *2^{n} B2T(w )B2U(w )=wn12n
所以
U 2 T ( w → ) = − w n − 1 ∗ 2 n + B 2 U ( w → ) U2T(\overrightarrow w)=-w_{n-1}*2^n+B2U(\overrightarrow w) U2T(w )=wn12n+B2U(w )
分类讨论下最高位情况
l e t   u = B 2 U ( w → ) U 2 T ( u ) = { u , u ≤ T M a x n ( w n − 1 = 1 ) u − 2 n , u > T M a x n let\ u=B2U(\overrightarrow{w})\\ \begin{equation} U2T(u )= \begin{cases} u,\quad u \le TMax_{n}(w_{n-1} =1)\\ u-2^n,\quad u \gt TMax_{n} \end{cases} \end{equation} let u=B2U(w )U2T(u)={u,uTMaxn(wn1=1)u2n,u>TMaxn

同理可得有符号转无符号数
B 2 U ( w → ) = U 2 T ( w → ) + w n − 1 ∗ 2 n B2U(\overrightarrow w)=U2T(\overrightarrow w)+w_{n-1}*2^n B2U(w )=U2T(w )+wn12n
同样分类讨论最高位情况
l e t   t = U 2 T ( w → ) T 2 U ( t ) = { t , t ≥ 0 ) t + 2 n , t < 0 let\ t=U2T(\overrightarrow w)\\ \begin{equation} T2U(t)= \begin{cases} t,\quad t \ge 0)\\ t+2^n,\quad t \lt 0 \end{cases} \end{equation} let t=U2T(w )T2U(t)={t,t0)t+2n,t<0

1.4 数位扩展

无符号数扩展,直接在前面添加 0 0 0即可。

u → = [ u n − 1 u n − 2 ⋯ u 0 ] u ′ → = [ 0 ⋯ u n − 1 ⋯ u 0 ] \overrightarrow u=[u_{n-1}u_{n-2}\cdots u_0]\\ \overrightarrow {u'}= [0\cdots u_{n-1}\cdots u_0] u =[un1un2u0]u =[0un1u0]
根据
B 2 U ( w → ) = ∑ i = 0 n − 1 w i × 2 i B2U(\overrightarrow w)=\sum_{i=0}^{n-1}w_i \times 2^{i} B2U(w )=i=0n1wi×2i
u → = u ′ → \overrightarrow {u}=\overrightarrow{u'} u =u

补码符号扩展,在前面不断添加最高位数字即可

证明
B 2 T t + k ( [ w t − 1 w t − 1 w t − 2 ⋯ w 0 ] ) = − 2 t + k − 1 ∗ w n − 1 + ∑ i = 0 t + k − 2 2 i ∗ w i = − 2 t + k − 1 ∗ w t − 1 + 2 t + k − 2 ∗ w t − 1 + ∑ i = 0 t + k − 3 2 i ∗ w i = − 2 t + k − 2 ∗ w t − 1 + ∑ i = 0 t + k − 3 2 i ∗ w i ⋯ = − 2 t − 1 ∗ w t − 1 + ∑ i = 0 t − 2 2 i ∗ w i = B 2 T t ( w t − 1 w t − 2 ⋯ w 0 ) \begin{align} B2T_{t+k}([w_{t-1}w_{t-1}w_{t-2}\cdots w_0]) &= -2^{t+k-1}*w_{n-1}+\sum_{i=0}^{t+k-2}2^{i} *w_i \nonumber\\ &= -2^{t+k-1}*w_{t-1}+2^{t+k-2}*w_{t-1}+\sum_{i=0}^{t+k-3}2^{i} *w_i \nonumber\\ &=-2^{t+k-2}*w_{t-1}+\sum_{i=0}^{t+k-3}2^{i} *w_i \nonumber\\ &\cdots \nonumber \\ &=-2^{t-1} *w_{t-1} + \sum_{i=0}^{t-2}2^{i} *w_i \nonumber \\ &= B2T_{t}(w_{t-1}w_{t-2}\cdots w_0) \nonumber \end{align} B2Tt+k([wt1wt1wt2w0])=2t+k1wn1+i=0t+k22iwi=2t+k1wt1+2t+k2wt1+i=0t+k32iwi=2t+k2wt1+i=0t+k32iwi=2t1wt1+i=0t22iwi=B2Tt(wt1wt2w0)

1.5 数位截断

无符号数的截断,直接取 k k k位即可。

证明
B 2 U t ( [ w t − 1 w t − 2 ⋯ w 0 ] )   m o d   2 k = [ ∑ i = 0 t − 1 w i ∗ 2 i ]   m o d   2 k = [ ∑ i = 0 k − 1 w i ∗ 2 i ]   m o d   2 k = [ ∑ i = 0 k − 1 w i ∗ 2 i ] = B 2 U k ( w k − 1 w k − 2 ⋯ w 0 ) \begin{align} B2U_t([w_{t-1}w_{t-2}\cdots w_0]) \bmod 2^k &=[\sum_{i=0}^{t-1}w_i *2^i] \bmod 2^k \nonumber\\ &= [\sum_{i=0}^{k-1}w_i *2^i] \bmod 2^k \nonumber\\ &= [\sum_{i=0}^{k-1}w_i *2^i] \nonumber\\ &= B2U_k(w_{k-1}w_{k-2} \cdots w_0)\nonumber\\ \end{align} B2Ut([wt1wt2w0])mod2k=[i=0t1wi2i]mod2k=[i=0k1wi2i]mod2k=[i=0k1wi2i]=B2Uk(wk1wk2w0)
利用了
∀ i > = k , 2 i   m o d   2 k = 0 \forall i>=k, 2^i \bmod2^k=0 i>=k,2imod2k=0
有符号数(补码)的截断
B 2 T t ( [ w t − 1 w t − 2 ⋯ w 0 ] )   m o d   2 k = U 2 T t ( B 2 U t ( [ w t − 1 w t − 2 ⋯ w 0 ] ) )   m o d   2 k l e t   u = B 2 U t ( [ w t − 1 w t − 2 ⋯ w 0 ] ) 根据公式 ( 3 ) = [ u − ( i × 2 t ) ]   m o d   2 k = u   m o d   2 k = U 2 T t ( B 2 U t ( [ w t − 1 w t − 2 ⋯ w 0 ] )   m o d   2 k ) \begin{align} B2T_t([w_{t-1}w_{t-2}\cdots w_0]) \bmod 2^k&= U2T_t(B2U_t([w_{t-1}w_{t-2}\cdots w_0])) \bmod 2^k \nonumber \\ &let\ u =B2U_t([w_{t-1}w_{t-2}\cdots w_0])\nonumber \\ 根据公式(3)\nonumber \\ &=[u-(i \times 2^{t})] \bmod 2^k\nonumber \\ &= u \bmod 2^k\nonumber\\ &= U2T_t(B2U_t([w_{t-1}w_{t-2}\cdots w_0])\bmod 2^k) \nonumber \\ \end{align} B2Tt([wt1wt2w0])mod2k根据公式(3)=U2Tt(B2Ut([wt1wt2w0]))mod2klet u=B2Ut([wt1wt2w0])=[u(i×2t)]mod2k=umod2k=U2Tt(B2Ut([wt1wt2w0])mod2k)

2. 整数的运算

2.1 整数加法

无符号整数加法

∀ x , y , 0 ≤ x , y < 2 w x + w u y = { x + y , x + y < 2 w x + y − 2 w , 2 w ≤ x + y < 2 w + 1 ( 溢出 ) \forall x,y, 0 \le x,y\lt2^w\\ x+^{u}_{w}y= \begin{cases} x+y, \quad x+y \lt 2^w\\ x+y-2^w,\quad 2^{w} \le x+y \lt 2^{w+1}(溢出) \end{cases} x,y,0x,y<2wx+wuy={x+y,x+y<2wx+y2w,2wx+y<2w+1(溢出)

检测无符号数
∀ x , y , 0 ≤ x , y < 2 w l e t   s = x + w u y , s < x 则发生溢出。 溢出时, x + w u y = x + y − 2 w x , y < 2 w y − 2 w < 0 , x − 2 w < 0 x + y − 2 w < x , y + x − 2 w < y \forall x,y, 0 \le x,y\lt2^w\\ let\ s=x+^{u}_wy,s<x则发生溢出。\\ 溢出时,x+^{u}_wy=x+y-2^w\\ x,y \lt 2^w\\ y-2^{w} \lt 0,x-2^w \lt 0\\ x+y-2^w \lt x,y+x-2^w \lt y x,y,0x,y<2wlet s=x+wuys<x则发生溢出。溢出时,x+wuy=x+y2wx,y<2wy2w<0,x2w<0x+y2w<x,y+x2w<y
无符号数求反
− w u x = { 0 , x = 0 2 w − x , x ≠ 0 -^u_wx= \begin{cases} 0, \quad x=0\\ 2^w-x, x \ne 0 \end{cases} wux={0,x=02wx,x=0

补码加法
∀ x , y , − 2 w − 1 ≤ x , y ≤ 2 w − 1 − 1 x + w t y = { x + y − 2 w , 2 w − 1 ≤ x + y x + y , − 2 w − 1 ≤ x + y ≤ 2 w − 1 x + y + 2 w , x + y ≤ − 2 w − 1 \forall x,y, -2^{w-1} \le x, y \le 2^{w-1} -1\\ x+^{t}_{w}y= \begin{cases} x+y-2^w, \quad 2^{w-1}\le x+y\\ x+y,\quad -2^{w-1} \le x+y \le 2^{w-1}\\ x+y+2^{w},\quad x+y\le -2^{w-1} \end{cases} x,y,2w1x,y2w11x+wty= x+y2w,2w1x+yx+y,2w1x+y2w1x+y+2w,x+y2w1
由于补码表示与无符号位表示相似

则我们可以转换为无符号再进行计算

x + w t y = U 2 T w ( T 2 U w ( x ) + T 2 U w ( y ) ) = U 2 T w [ ( x w − 1 2 w + x + y w − 1 2 w + y )   m o d   2 w ] = U 2 T w [ ( x + y )   m o d   2 w ] \begin{align} x+^t_wy&= U2T_w(T2U_w(x)+T2U_w(y)) \nonumber \\ &= U2T_w[(x_{w-1}2^w+x+y_{w-1}2^w+y) \bmod 2^w]\nonumber \\ &= U2T_w[(x+y) \bmod 2^w]\nonumber \\ \end{align} x+wty=U2Tw(T2Uw(x)+T2Uw(y))=U2Tw[(xw12w+x+yw12w+y)mod2w]=U2Tw[(x+y)mod2w]
检测补码加法中的溢出
s = x + w t y x > 0 , y > 0 , s ≤ 0 , 正溢出 x < 0 , y < 0 , s ≥ 0 负溢出 s=x+^t_wy\\ x \gt 0, y \gt 0,s\le0,正溢出\\ x \lt 0,y\lt 0,s \ge 0负溢出 s=x+wtyx>0,y>0,s0,正溢出x<0,y<0,s0负溢出
补码的非
− w t x = { T m i n w , x = T m i n w − x , x > T m i n w -^t_wx = \begin{cases} Tmin_w, \quad x=Tmin_w\\ -x,\quad x \gt Tmin_w \end{cases} wtx={Tminw,x=Tminwx,x>Tminw

2.2 整数乘法

无符号乘法
x ∗ w u y = ( x ∗ y )   m o d   2 w x * ^u_wy=(x*y) \bmod 2^w xwuy=(xy)mod2w

补码乘法

x ∗ w t y = U 2 T w ( ( x ∗ y )   m o d   2 w ) x * ^t_wy=U2T_w((x*y) \bmod 2^w) xwty=U2Tw((xy)mod2w)

证明
T 2 B w ( x ∗ w t y ) = U 2 B w ( x ′ ∗ w t y ′ ) x ′ = x + x w − 1 2 w y ′ = y + y w − 1 w w ( x ′ ∗ y ′ )   m o d   2 w = ( x + x w − 1 2 w ) ( y + y w − 1 2 w )   m o d   2 w = ( x y )   m o d   2 w T2B_w(x*^t_wy)=U2B_w(x'*^t_wy')\\ x' = x +x_{w-1}2^w\\ y' = y+y_{w-1}w^w\\ (x' * y') \bmod 2^w= (x +x_{w-1}2^w)(y+y_{w-1}2^w) \bmod 2^w=(xy) \bmod 2^w T2Bw(xwty)=U2Bw(xwty)x=x+xw12wy=y+yw1ww(xy)mod2w=(x+xw12w)(y+yw12w)mod2w=(xy)mod2w
乘以2的 k k k次幂,左移 k k k
B 2 U w + k ( [ x w − 1 x w − 2 ⋯ 0 ] ) = ∑ i = 0 w − 1 x i 2 i + k = [ ∑ i = 0 w − 1 x i 2 i ] × 2 k = x 2 k B2U_{w+k}([x_{w-1}x_{w-2}\cdots 0]) = \sum_{i=0}^{w-1}x_i2^{i+k}=[\sum_{i=0}^{w-1}x_i2^i]\times2^k=x2^k B2Uw+k([xw1xw20])=i=0w1xi2i+k=[i=0w1xi2i]×2k=x2k

3. 浮点数

3.1 浮点数表示

V = ( − 1 ) s × M × 2 E V=(-1)^s\times M \times2^E V=(1)s×M×2E
在内存中的布局
在这里插入图片描述

E = e − B i a s e = B 2 U ( e k − 1 e k − 2 ⋯ e 0 ) B i a s = 2 k − 1 − 1 f = B 2 U ( [ f n − 1 f n − 2 ⋯ f 0 ] ) / 2 n E=e-Bias\\ e=B2U(e_{k-1}e_{k-2}\cdots e_0)\\ Bias=2^{k-1}-1\\ f=B2U([f_{n-1}f_{n-2} \cdots f_0])/2^{n} E=eBiase=B2U(ek1ek2e0)Bias=2k11f=B2U([fn1fn2f0])/2n
总体分三种情况

  1. 标准化值
    阶码部分不全为0或不全为1
    M = 1 + f M=1+f M=1+f
  2. 非标准化值
    阶码部分全为0
    M = f M=f M=f
  3. 特殊值
    阶码全为1,小数域全为0,对应 − ∞ , + ∞ -\infin ,+\infin ,+,
    小数域非0,对应 N a N NaN NaN,表示不是一个数。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Allavsoft for Mac v3.27.0.8852注册激活版 优秀的视频下载工具

Allavsoft for Mac是一款功能强大的多媒体下载和转换工具&#xff0c;支持从各种在线视频网站和流媒体服务下载视频、音频和图片。它具备批量下载和转换功能&#xff0c;可将文件转换为多种格式&#xff0c;以适应不同设备的播放需求。此外&#xff0c;Allavsoft还提供视频编辑…

windows下部署mongoDB

目录 1. 下载zip安装包并解压&#xff1a;Download MongoDB Community Server | MongoDB 2. 在解压后的文件夹中新建文件夹data及下级文件夹db和log 3. 新建一个mongod.cfg文件&#xff0c;并配置以下内容 4. 在cmd中启动mongodb&#xff0c;并进行验证 5. 部署到本地服务器…

亚信安慧AntDB:打造智慧生态的数据心脏

AntDB的“融合实时”的特性&#xff0c;不仅使得数据库具备了更强大的适应性&#xff0c;更让企业在不同业务场景下能够更好地实现业务目标&#xff0c;释放出更大的商业价值。融合实时的特性让AntDB具有了高度灵活性和实时性&#xff0c;使其能够满足企业在不同业务需求下的快…

2024 批量下载公众号文章内容/阅读数/在看数/点赞数/留言数/粉丝数导出pdf文章备份(带留言):公众号混知近2000篇历史文章在线查看,找文章方便了

关于公众号文章批量下载&#xff0c;我之前写过很多文章&#xff1a; 视频更新版&#xff1a;批量下载公众号文章内容/话题/图片/封面/音频/视频&#xff0c;导出html&#xff0c;pdf&#xff0c;excel包含阅读数/点赞数/留言数 2021陶博士2006/caoz的梦呓/刘备我祖/六神读金…

uni-app如何实现高性能

这篇文章主要讲解uni-app如何实现高性能的问题&#xff1f; 什么是uni-app&#xff1f; 简单说一下什么是uni-app&#xff0c;uni-app是继承自vue.js&#xff0c;对vue做了轻度定制&#xff0c;并且实现了完整的组件化开发&#xff0c;并且支持多端发布的一种架构&#xff0c…

【Java EE】初识Spring Web MVC

文章目录 &#x1f334;什么是Spring Web MVC&#xff1f;&#x1f338;什么是Servlet呢? &#x1f332;MVC 定义&#x1f338;再理解Spring MVC &#x1f333;如何学习Spring MVC呢&#xff1f;⭕总结 &#x1f334;什么是Spring Web MVC&#xff1f; Spring Web MVC 是基于…

【Linux】使用cloudreve搭建个人网盘并传输文件

Cloudreve 是一个开源的个人网盘系统&#xff0c;能够帮助用户搭建属于自己的私有云存储服务。它支持多种存储后端&#xff0c;包括本地存储、远程FTP/SFTP存储、以及云存储服务如阿里云OSS、腾讯云COS和Amazon S3等。Cloudreve具有友好的用户界面和丰富的功能&#xff0c;比如…

揭秘rmallox病毒:防范、清除、恢复一步到位!

引言&#xff1a; 随着信息技术的快速发展&#xff0c;计算机病毒已成为网络安全领域的一大难题。其中&#xff0c;rmallox病毒是近年来备受关注的一种恶意软件。本文将深入探讨rmallox病毒的特性、传播途径、防范措施、清除方法以及数据恢复技巧&#xff0c;帮助读者全面了解这…

创新指南|涵盖创新管理的一系列终极指南

毫无疑问&#xff0c;创新是过去几十年来最热门的流行语和最具争议的话题之一&#xff0c;尽管很多人已经厌倦了到处听到它&#xff0c;但这个术语和概念它的后面就留在这里。由于这已被证明是无休止的争论来源&#xff0c;因此我们决定创建一系列涵盖创新管理的博客文章&#…

Ideal的使用技巧

一、springcloud项目如何将多个服务放到services中一起启动 1、打开ideal&#xff0c;再view -> Tool Windows -> services 2、在services界面 找到 run configuration type -> springboot即可 二、配置临时的启动参数 1、在edit configurations中 2、选择相应的服务…

红黑树平衡艺术:最大化与最小化红色结点比值的策略与实现

红黑树平衡艺术&#xff1a;最大化与最小化红色结点比值的策略与实现 一、 最大比值的红黑树构造1.1 伪代码示例&#xff1a;1.2 C代码示例&#xff1a; 三、最小比值的红黑树构造3.1 伪代码示例&#xff1a;3.2 C代码示例&#xff1a; 四、结论 红黑树是一种自平衡的二叉搜索树…

动态多目标优化:动态约束多目标优化测试集DCP1-DCP9的TruePF(提供MATLAB代码)

一、进化动态约束多目标优化测试集DCP1-DCP9 参考文献&#xff1a; [1]G. Chen, Y. Guo, Y. Wang, J. Liang, D. Gong and S. Yang, “Evolutionary Dynamic Constrained Multiobjective Optimization: Test Suite and Algorithm,” in IEEE Transactions on Evolutionary Com…

从零开始搭建后端信息管理系统(新手小白比如)

如果你是新手小白&#xff0c;首先我们要进行一些准备工作&#xff0c;安装一些基础软件&#xff0c; 备注一下&#xff1a;这里安装的vue环境的后台管理系统&#xff0c;不同的后台管理系统&#xff0c;需要安装不同的插件 准备工作&#xff1a; 安装 Visual Studio Code …

【Linux】UDP编程{诸多编程接口/三版本服务器/编程常见问题}

文章目录 0.预备知识0.1套接字0.2TCP/UDP0.3大小端问题 1.socket 常见API1.1socket1.2各个接口1.3int bind();1.3网络头文件四件套1.4bzero1.5recvfrom1.6sendto() 2.UDP编程2.1服务器编程2.2客户端编程2.3运行测试2.3.1本机通信2.3.2popen2.3.3strcasestr2.3.4回顾C11智能指针…

Ubuntu20.04配置Kinect 2.0驱动安装和ROS环境下配置以及录制bag包和制作ORB-SLAM数据集

1. 安装libfreenect2 1.1 下载官方文件 git clone https://github.com/OpenKinect/libfreenect2.git cd libfreenect21.2 安装build工具 sudo apt-get install build-essential cmake pkg-config1.3 安装libusb sudo apt-get install libusb-1.0-0-dev1.4 安装urboJPEG su…

如何客观评价5G的现状?

前几天&#xff0c;在知乎上看到一个帖子&#xff0c;热度挺高&#xff1a; 看了一下帖子的回答&#xff0c;基本上都在骂5G。 作为通信行业从业者&#xff0c;我说说我自己的看法。大家姑且听听&#xff0c;一起交流一下。 我们目前所处的这个时代&#xff0c;有一个很大的特点…

练习题(2024/4/6)

1最接近的三数之和 给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数&#xff0c;使它们的和与 target 最接近。 返回这三个数的和。 假定每组输入只存在恰好一个解。 示例 1&#xff1a; 输入&#xff1a;nums [-1,2,1,-4], target …

【Linux】shell 脚本基础使用

在终端中输入命令可以完成一些常用的操作&#xff0c;但是我们都是一条一条输入命令&#xff0c;比较麻烦&#xff0c;为了解决这个问题&#xff0c;就会涉及到 shell 脚本&#xff0c;它可以将很多条命令放到一个文件里面&#xff0c;然后直接运行这个文件即可。 shell 脚本类…

STM32单片机智能手环心率计步器体温

简介 STM32F103C8T6单片机核心板电路、ADXL345传感器电路、心率传感器电路、温度传感器和lcd1602电路组成。通过重力加速度传感器ADXL345检测人的状态&#xff0c;计算出走路步数、走路距离和平均速度。过心率传感器实时检测心率&#xff0c;通过温度传感器检测温度。通过LCD16…

基于springboot实现教师人事档案管理系统项目【项目源码+论文说明】

基于springboot实现在线商城系统演示 摘要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本ONLY在线商城系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理…