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

数据类型——long long

在C语言中,long long 类型是一种有符号的64位整数,其取值范围由二进制补码表示法决定。以下是具体数值及解释:


1. long long 的最大值

  • 最大值(正数)9223372036854775807
    计算方式2^63 - 1
    这是因为最高位是符号位(0表示正数),剩余的63位用于数值。

  • 最小值(负数)-9223372036854775808
    计算方式-2^63
    二进制补码表示法中,负数的最小值比正数最大值多一个单位。


2. 如何获取这些值?

C标准库 <limits.h> 中定义了以下宏,可直接在代码中使用:

  • LLONG_MAX:表示 long long 的最大值(9223372036854775807)。
  • LLONG_MIN:表示 long long 的最小值(-9223372036854775808)。
示例代码:
#include <stdio.h>
#include <limits.h>int main() {printf("long long 最大值: %lld\n", LLONG_MAX);printf("long long 最小值: %lld\n", LLONG_MIN);return 0;
}

3. unsigned long long 的最大值

若使用无符号类型 unsigned long long(64位全用于数值):

  • 最大值18446744073709551615
    计算方式2^64 - 1
  • 对应的宏为 ULLONG_MAX
示例代码:
#include <stdio.h>
#include <limits.h>int main() {printf("unsigned long long 最大值: %llu\n", ULLONG_MAX);return 0;
}

4. 应用场景

  • 大整数计算:处理超过 intlong 范围的数值(如金融计算、科学模拟)。
  • 避免溢出:在循环或数学运算中,确保结果不超出范围。例如:
    long long a = LLONG_MAX;
    long long b = 1;
    long long sum = a + b; // 这里会导致溢出(未定义行为)!
    
    需通过条件判断或使用大数库(如GMP)来规避溢出风险。

5. 注意事项

  • 平台兼容性:C标准规定 long long 至少为64位,但实际大小可通过 sizeof(long long) 验证。
  • 打印格式:使用 %lld%llu 正确格式化输出:
    long long x = 123456789012345LL;
    unsigned long long y = 18446744073709551615ULL;
    printf("%lld, %llu\n", x, y);
    

总结

类型最大值最小值宏定义
long long9223372036854775807-9223372036854775808LLONG_MAX/MIN
unsigned long long184467440737095516150ULLONG_MAX

如果需要处理更大的数值,需依赖高精度库(如GMP)或自定义数据结构。

相关文章:

数据类型——long long

在C语言中&#xff0c;long long 类型是一种有符号的64位整数&#xff0c;其取值范围由二进制补码表示法决定。以下是具体数值及解释&#xff1a; 1. long long 的最大值 最大值&#xff08;正数&#xff09;&#xff1a;9223372036854775807 计算方式&#xff1a;2^63 - 1 这是…...

网络安全通信架构图

&#x1f345; 点击文末小卡片 &#xff0c;免费获取网络安全全套资料&#xff0c;资料在手&#xff0c;涨薪更快 在安全通信里面我经常听到的2个东西就是SSL和TLS&#xff0c;这2个有什么区别呢&#xff1f;以及HTTPS是怎么通信的&#xff1f;包括对称加密、非对称加密、摘要、…...

AMD(xilinx) FPGA书籍推荐

理论到实践&#xff0c;五年磨一剑 以应用为主&#xff0c;书中全部例程均来自工程实践&#xff1b;目的在于培养FPGA工程师良好的代码编写习惯&#xff0c;掌握vivado常用高级技巧。本书详细讲解了&#xff1a; &#xff08;0&#xff09;vivado操作基础从工程建立到bit/mcs文…...

考前冲刺,消防设施操作员考试最后一击

考前冲刺&#xff0c;消防设施操作员考试最后一击 考前冲刺阶段至关重要。首先要回归教材&#xff0c;快速浏览重点知识点&#xff0c;强化记忆。同时&#xff0c;对之前做过的错题进行集中复习&#xff0c;分析错误原因&#xff0c;避免在考试中再次犯错。进行全真模拟考试&a…...

【GoTeams】-3:构建api、重构错误码

本文目录 1. 构建api梳理调用关系api包的作用路由梳理注册Register代码语法 2. 重构错误码 1. 构建api 首先复制project-user&#xff0c;改名为project-api&#xff0c;放在总的路径下&#xff0c;然后在工作区中进行导入。 运行命令go work use .\project-api\新建工作区之…...

MuBlE:为机器人操作任务规划提供了逼真的视觉观察和精确的物理建模

2025-03-05&#xff0c;由华为诺亚方舟实验室、捷克技术大学和帝国理工学院联合开发的MuBlE&#xff08;MuJoCo and Blender simulation Environment&#xff09;模拟环境和基准测试。通过结合MuJoCo物理引擎和Blender高质量渲染&#xff0c;为机器人操作任务规划提供了逼真的视…...

基于STC89C52的4x4矩阵键盘对应键值显示测试

引言 在众多单片机应用系统中,用户输入功能至关重要。4x4 矩阵键盘因其布局紧凑、按键数量适中,能有效节省 I/O 口资源,成为常用的输入设备。STC89C52 作为一款经典的 8 位单片机,以其丰富的外设资源和简易的开发流程,为矩阵键盘的应用提供了良好平台。同时,LCD1602 作为…...

android13打基础: timepicker控件

public class Ch4_TimePickerActivity extends AppCompatActivity implements TimePickerDialog.OnTimeSetListener {private TextView tv_time; // 声明一个文本视图对象private TimePicker tp_time; // 声明一个时间选择器对象Overrideprotected void onCreate(Nullable Bund…...

【虚拟仿真】Unity3D中实现激光/射线的发射/折射/反射的效果(3D版)

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享QQ群:398291828小红书小破站大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。...

【预测】-双注意LSTM自动编码器记录

预测-双注意LSTM自动编码器 1 预测-双注意LSTM自动编码器1.1 复现环境配置1.2 数据流记录1.2.1 **构建Dataset**(1) **X 的取数**(2) **y 的取数**(3) **target 的取数** 1.2.2 **举例说明**(1)**X 的取数**(2)**y 的取数**(3)**target 的取数** 1.2.3 **y 取数的问题****修正后…...

S32K3 MCU时钟部分

S32K3 MCU时钟部分 1.系统时钟发生器SCG 系统时钟发生器SCG模块提供MCU的系统时钟,SCG包含一个系统锁相环SPLL,一个慢速的内部参考时钟SIRC,一个快速内部参考时钟FIRC和系统振荡时钟SOSC. 时钟生成的电路提供了多个时钟分频器和选择器允许为不同的模块提供以特定于该模块的频率…...

java开发常用注解

在Java开发中&#xff0c;注解&#xff08;Annotation&#xff09;广泛用于简化代码、配置元数据、框架集成等场景。以下是不同场景下常用的注解分类整理&#xff1a; 一、核心Java注解&#xff08;内置&#xff09; Override 表示方法重写父类或接口的方法&#xff0c;编译器会…...

Doris vs ClickHouse 企业级实时分析引擎怎么选?

Apache Doris 与 ClickHouse 同作为OLAP领域的佼佼者&#xff0c;在企业级实时分析引擎该如何选择呢。本文将详细介绍 Doris 的优势&#xff0c;并通过直观对比展示两者的关键差异&#xff0c;同时分享一个企业成功用 Doris 替换 ClickHouse 的实践案例&#xff0c;帮助您做出明…...

解锁Egg.js:从Node.js小白到Web开发高手的进阶之路

一、Egg.js 是什么 在当今的 Web 开发领域&#xff0c;Node.js 凭借其事件驱动、非阻塞 I/O 的模型&#xff0c;在构建高性能、可扩展的网络应用方面展现出独特的优势 &#xff0c;受到了广大开发者的青睐。它让 JavaScript 不仅局限于前端&#xff0c;还能在服务器端大展身手&…...

学习前端前需要了解的一些概念(详细版)

网站的定义与概述 网站&#xff08;Website&#xff09;是一个由网络服务器托管的、通过网络访问的、由相关网页和资源组成的集合。它为用户提供信息、服务或娱乐平台&#xff0c;是现代互联网的重要组成部分。网站的基本功能是展示信息和提供服务&#xff0c;用户可以通过浏览…...

分布式数据库中的四种透明性:逻辑透明、位置透明、分片透明和复制透明

四种透明性 1. 逻辑透明&#xff08;Logical Transparency&#xff09;2. 位置透明&#xff08;Location Transparency&#xff09;3. 分片透明&#xff08;Fragmentation Transparency&#xff09;4. 复制透明&#xff08;Replication Transparency&#xff09;注意点&#xf…...

SSM架构 +java后台 实现rtsp流转hls流,在前端html上实现视频播放

序言&#xff1a;书接上文&#xff0c;我们继续 SSM架构 NginxFFmpeg实现rtsp流转hls流&#xff0c;在前端html上实现视频播放 步骤一&#xff1a;把rtsp流转化为hls流&#xff0c;用Java代码进行转换 package com.tools;import java.io.BufferedReader; import java.io.IOExc…...

时序数据库 TDengine 化工新签约:存储降本一半,查询提速十倍

化工行业在数字化转型过程中面临数据接入复杂、实时性要求高、系统集成难度大等诸多挑战。福州力川数码科技有限公司科技依托深厚的行业积累&#xff0c;精准聚焦行业痛点&#xff0c;并携手 TDengine 提供高效解决方案。通过应用 TDengine&#xff0c;力川科技助力化工企业实现…...

信号完整性基础:高速信号的扩频时钟SSC测试

扩频时钟 SSC 是 Spread Spectrum Clock 的英文缩写&#xff0c;目前很多数字电路芯片都支持 SSC 功能&#xff0c;如&#xff1a;PCIE、USB3.0、SATA 等等。那么扩频时钟是用来做什么的呢&#xff1f; SSC背景&#xff1a; 扩频时钟是出于解决电磁干扰&#xff08;EMI&#…...

深入理解与配置 Nginx TCP 日志输出

一、背景介绍 在现代网络架构中&#xff0c;Nginx 作为一款高性能的 Web 服务器和反向代理服务器&#xff0c;广泛应用于各种场景。除了对 HTTP/HTTPS 协议的出色支持&#xff0c;Nginx 从 1.9.0 版本开始引入了对 TCP 和 UDP 协议的代理功能&#xff0c;这使得它在处理数据库…...

在Adafruit Fruit Jam微控制器上移植运行经典游戏DOOM的完整指南

1. 项目概述&#xff1a;当经典FPS遇上迷你计算机作为一名在嵌入式系统和复古计算领域折腾了十多年的老玩家&#xff0c;我始终对“它能不能跑DOOM&#xff1f;”这个梗抱有极大的热情。这不仅仅是一句玩笑&#xff0c;更是对硬件性能和软件移植能力的终极试金石。最近&#xf…...

FSearch终极指南:如何在Linux上实现秒级文件搜索

FSearch终极指南&#xff1a;如何在Linux上实现秒级文件搜索 【免费下载链接】fsearch A fast file search utility for Unix-like systems based on GTK3 项目地址: https://gitcode.com/gh_mirrors/fs/fsearch 还在为Linux系统中查找文件而烦恼吗&#xff1f;FSearch是…...

如何快速掌握BepInEx:从游戏玩家到插件开发者的完整指南

如何快速掌握BepInEx&#xff1a;从游戏玩家到插件开发者的完整指南 【免费下载链接】BepInEx Unity / XNA game patcher and plugin framework 项目地址: https://gitcode.com/GitHub_Trending/be/BepInEx BepInEx是一款强大的Unity游戏插件框架&#xff0c;为游戏模组…...

零代码构建HomeKit运动检测系统:Adafruit IO与itsaSNAP实战指南

1. 项目概述&#xff1a;零代码构建HomeKit运动检测系统想给家里的走廊、储物间或者车库入口加个自动感应灯&#xff0c;但又不想折腾复杂的编程和服务器搭建&#xff1f;或者&#xff0c;你手头有一些非HomeKit原生设备&#xff0c;希望通过苹果的“家庭”App进行统一管理&…...

基于Adafruit IO与振动传感器的智能洗衣机提醒器DIY教程

1. 项目概述&#xff1a;告别遗忘&#xff0c;让洗衣机“开口说话”你有没有过这样的经历&#xff1f;把衣服塞进洗衣机&#xff0c;按下启动键&#xff0c;然后转头就去忙别的事情&#xff0c;等再想起来时&#xff0c;已经是好几个小时甚至第二天&#xff0c;湿漉漉的衣服在滚…...

量子计算解决最大独立集问题的qReduMIS算法解析

1. 量子计算与最大独立集问题概述最大独立集问题&#xff08;Maximum Independent Set, MIS&#xff09;是图论中的一个经典NP难问题&#xff0c;其目标是找到给定无向图中最大的顶点子集&#xff0c;使得该子集中任意两个顶点之间没有边相连。这个问题在社交网络分析、无线网络…...

在STM32F103上用FreeRTOS模拟I2C,为什么我劝你放弃硬件I2C?

为什么在STM32F103上使用FreeRTOS时&#xff0c;模拟I2C比硬件I2C更靠谱&#xff1f; 如果你正在使用STM32F103开发项目&#xff0c;并且需要在FreeRTOS环境下实现I2C通信&#xff0c;那么这篇文章可能会改变你的技术选型决策。很多开发者初次接触STM32时&#xff0c;都会优先考…...

Arm Neoverse CMN-650架构与性能优化解析

1. Arm Neoverse CMN-650架构概览在现代多核处理器系统中&#xff0c;一致性互连网络扮演着至关重要的角色。作为Arm Neoverse平台的核心组件&#xff0c;CMN-650采用Mesh拓扑结构设计&#xff0c;为多核处理器集群提供高效的数据传输和缓存一致性管理。这种架构特别适合需要高…...

SyncedStore深度解析:揭秘CRDT技术如何实现无冲突数据同步

SyncedStore深度解析&#xff1a;揭秘CRDT技术如何实现无冲突数据同步 【免费下载链接】SyncedStore SyncedStore CRDT is an easy-to-use library for building live, collaborative applications that sync automatically. 项目地址: https://gitcode.com/gh_mirrors/sy/Sy…...

树莓派GPIO排针焊接与外壳组装全攻略:从焊接技巧到机械装配

1. 项目概述与核心价值如果你手头有一块树莓派&#xff0c;并且打算用它来驱动一个像Joy Bonnet这样的游戏手柄扩展板&#xff0c;或者任何其他需要直接插在GPIO排针上的HAT&#xff08;硬件附加板&#xff09;&#xff0c;那么你迟早会面临一个非常具体且有点“劝退”的硬件关…...