首页 > 其他分享 >中值计算为什么一般用left+(right-left)/2而不是(right+left)/2

中值计算为什么一般用left+(right-left)/2而不是(right+left)/2

时间:2023-09-13 18:44:25浏览次数:30  
标签:right int 最大值 编译器 计算 溢出 left

left+(right-left)/2和(right+left)/2两个计算的结果是一样的,

但是

1、对于16位编译器,int占16位(2字节)。

int的最大值为32767.

2、对于32位和64位编译器,int占32位(4字节)。

int的最大值为2147483647

使用

(right+left)/2

当right+left的值超过int的最大值的时候就会溢出而轮不到/2哪怕/2后不会溢出

所以left+(right-left) 实际上限制了相加的两个数字的大小,不会造成溢出

标签:right,int,最大值,编译器,计算,溢出,left
From: https://www.cnblogs.com/Gao-yubo/p/17700447.html

相关文章

  • 旅游景区景点系统的设计与实现-计算机毕业设计源码+LW文档
    选题意义: 旅游业经过多年的发展,已经从单一的观光旅游发展到目前的一站式旅游方向,呈现多元化趋势,为游客提供旅游观光、户外探险、自由行、住宿等各种服务。旅游业是一个国家综合性服务行业,可以为经济发展提供助力。对于大众来说,通过旅游可以提高生活质量,帮助人们更加有效的完成工......
  • 基于Django的社区疫情管理平台的设计与实现-计算机毕业设计源码+LW文档
    一、研究的背景和意义研究背景:2020年初,新冠疫情在武汉爆发,造成多人感染,社会治安和医疗体系面临巨大挑战。在这前所未有的严峻形式中,国家领导统一指挥,全面部署,积极应对挑战。社区是最小单位,社区防控做好才能取得关键性胜利。在没有经验基础的情况下,各社区除了执行政策条例外,积极摸......
  • 企业执勤管理系统的设计与实现-计算机毕业设计源码+LW文档
    摘 要随着信息技术的发展,管理系统越来越成熟,各种企事业单位使用各种类型的管理系统来提高工作效率,从而降低手工劳动的弊端。企业一直以来都非常重视公司信息化的发展,近几年来随着公司规模扩大,业务逐渐增加,企业对员工的管理也愈发的困难。因此,公司提出通过开发基于Idea的企业执......
  • TuGraph Analytics流图计算之行为路径归因
    GeaFlow(品牌名TuGraph-Analytics)已正式开源,欢迎大家关注!!!欢迎给我们Star哦!GitHub......
  • 等保2.0安全计算环境-三级通用Linux测评
    一、身份鉴别a)应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换;1、应核查用户在登陆时是否采用了身份鉴别措施;用户登录服务器需要使用账户+账户口令。2、应核查用户列表确认用户身份标识是否具有唯一性;(more/etc/passwd)//查看命......
  • 智慧园区:AI边缘计算技术与视频监控汇聚平台打造智慧园区解决方案
    一、行业趋势与背景智慧园区是现代城市发展的重要组成部分,通过智能化技术提高园区的运营效率、降低成本、增强环境可持续性等具有重要作用。在智慧园区中,人工智能和视频汇聚技术是重要的前置技术。人工智能技术可以实现对数据的智能化处理和分析,为园区的运营和管理提供智能化的决......
  • # Day 01计算机基础和环境搭建
    课程概要计算机基础编程本质Python的介绍Python环境的搭建计算机基础1.1基本概念计算机的组成计算机是由多个硬件组合而成,常见的硬件有CPU,硬盘,内存,网卡,显示器,机箱,电源...注意事项:机械将零件组合到一起,他们是无法进行协作的操作系统用于协调计算机的各个零件,让硬......
  • Spring小技巧--计算表达式的值
    平时工作中经常要用到表达式值的计算问题,Spring框架中提供了SpringExpressionLanguage(简称SpEL)机制,可以很方便快捷的实现表达式值的计算;SpEL机制需要引入Spring-expression包。下面列举其应用的两个小Demo;1、数值计算:StringexpressionStr="19+26";ExpressionParse......
  • 快速傅里叶变换计算多项式乘法
    前言OI中,多项式有着十分广泛的应用。其基础是多项式的基本运算,几乎所有多项式运算都是由多项式加法和乘法拼接成的。我们有显然的\(O(n)\)的办法计算多项式加法,而朴素的多项式乘法是很多情况下难以接受的\(O(n^2)\)的复杂度。快速傅里叶变换(FFT)可以高效(\(O(n\logn)\))计算多......
  • 已知结构体成员地址,计算出结构体变量地址
    点击查看代码/***rt_container_of-returnthememberaddressofptr,ifthetypeofptristhe*structtype.*/#definert_container_of(ptr,type,member)\((type*)((char*)(ptr)-(unsignedlong)(&((type*)0)->member)))......