FeelingLife FeelingLife
首页
  • Go

    • Go基础知识
  • Python

    • Python进阶
  • 操作系统
  • 计算机网络
  • MySQL
  • 学习笔记
  • 常用到的算法
  • Docker
  • Kubernetes
  • Observability
  • 容器底层
其他技术
  • 友情链接
  • 收藏
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

xuqil

一介帆夫
首页
  • Go

    • Go基础知识
  • Python

    • Python进阶
  • 操作系统
  • 计算机网络
  • MySQL
  • 学习笔记
  • 常用到的算法
  • Docker
  • Kubernetes
  • Observability
  • 容器底层
其他技术
  • 友情链接
  • 收藏
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • Redis

  • Nginx

  • Linux

  • SSO和OAuth2

  • 分布式

  • Other

    • WSL 中配置 Ubuntu 22.04 开发环境
    • 极值
      • C语言
      • GO语言
      • Python
    • vuepress配置artalk
  • F5

  • 其他技术
  • Other
xuqil
2022-04-21
目录

极值

# 编程语言极值

# C语言

limits.h

CHAR_BIT //char的二进制位数(bit)

CHAR_MAX //char的有符号整数最大值

CHAR_MIN //char的有符号整数最小值

MB_LEN_MAX //多字节字符的最大字节(byte)数

LONG_MAX //long的十进制最大值

LONG_MIN //long的十进制最小值

SCHAR_MAX //signedchar的十进制整数最大值

SCHAR_MIN //signedchar的十进制整数最小值

SHRT_MIN //short的十进制最小值

SHRT_MAX //short的十进制最大值

UCHAR_MAX //unsignedchar的十进制整数最大值

UINT_MAX //unsignedint的十进制最大值

ULONG_MAX //unsignedlongint的十进制最大值

USHRT_MAX //unsignedshortint的十进制最大值
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

需要关注的有:LONG_MAX、LONG_MIN

# GO语言

golang 的 math 包已经定义了以下常量:

  • Mathematical constants.

    const (
        E   = 2.71828182845904523536028747135266249775724709369995957496696763 // https://oeis.org/A001113
        Pi  = 3.14159265358979323846264338327950288419716939937510582097494459 // https://oeis.org/A000796
        Phi = 1.61803398874989484820458683436563811772030917980576286213544862 // https://oeis.org/A001622
    
        Sqrt2   = 1.41421356237309504880168872420969807856967187537694807317667974 // https://oeis.org/A002193
        SqrtE   = 1.64872127070012814684865078781416357165377610071014801157507931 // https://oeis.org/A019774
        SqrtPi  = 1.77245385090551602729816748334114518279754945612238712821380779 // https://oeis.org/A002161
        SqrtPhi = 1.27201964951406896425242246173749149171560804184009624861664038 // https://oeis.org/A139339
    
        Ln2    = 0.693147180559945309417232121458176568075500134360255254120680009 // https://oeis.org/A002162
        Log2E  = 1 / Ln2
        Ln10   = 2.30258509299404568401799145468436420760110148862877297603332790 // https://oeis.org/A002392
        Log10E = 1 / Ln10
    )
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
  • Floating-point limit values. Max is the largest finite value representable by the type. SmallestNonzero is the smallest positive, non-zero value representable by the type.

    const (
        MaxFloat32             = 3.40282346638528859811704183484516925440e+38  // 2**127 * (2**24 - 1) / 2**23
        SmallestNonzeroFloat32 = 1.401298464324817070923729583289916131280e-45 // 1 / 2**(127 - 1 + 23)
    
        MaxFloat64             = 1.797693134862315708145274237317043567981e+308 // 2**1023 * (2**53 - 1) / 2**52
        SmallestNonzeroFloat64 = 4.940656458412465441765687928682213723651e-324 // 1 / 2**(1023 - 1 + 52)
    )
    
    1
    2
    3
    4
    5
    6
    7
  • Integer limit values.

    const (
        MaxInt8   = 1<<7 - 1
        MinInt8   = -1 << 7
        MaxInt16  = 1<<15 - 1
        MinInt16  = -1 << 15
        MaxInt32  = 1<<31 - 1
        MinInt32  = -1 << 31
        MaxInt64  = 1<<63 - 1
        MinInt64  = -1 << 63
        MaxUint8  = 1<<8 - 1
        MaxUint16 = 1<<16 - 1
        MaxUint32 = 1<<32 - 1
        MaxUint64 = 1<<64 - 1
    )
    
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15

自定义

golang的标准库里没有定义这些变量。不过可以用位操作运算,轻松定义这些常量。

  • 无符号整型uint

    • 其最小值是0,其二进制表示的所有位都为0,

      const UINT_MIN uint = 0
      
      1
    • 其最大值的二进制表示的所有位都为1,那么,

      const UINT_MAX = ^uint(0)
      
      1
  • 有符号整型int

    • 根据补码,其最小值二进制表示,首位1,其余0,那么,

      const INT_MIN = ^INT_MAX
      
      1
    • 根据补码,其最大值二进制表示,首位0,其余1,那么,

      const INT_MAX = int(^uint(0) >> 1)
      
      1

# Python

  • math库

    math.inf
    
    1

    浮点正无穷大。 (对于负无穷大,使用 -math.inf 。)相当于 float('inf') 的输出。

  • 'inf'

    • 无穷大:float('inf')
    • 无穷小:float('-inf')
上次更新: 2024/05/29, 06:25:22
WSL 中配置 Ubuntu 22.04 开发环境
vuepress配置artalk

← WSL 中配置 Ubuntu 22.04 开发环境 vuepress配置artalk→

最近更新
01
VXLAN互通实验
05-13
02
VXLAN
05-13
03
VLAN
05-13
更多文章>
Theme by Vdoing | Copyright © 2018-2025 FeelingLife | 粤ICP备2022093535号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式