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

深圳模板网站建设哪家好软文推广的优点

深圳模板网站建设哪家好,软文推广的优点,中国造价信息网官网,商品房交易网ps:题目来自力扣 两数相除 给你两个整数,被除数 dividend 和除数 divisor。将两数相除,要求 不使用 乘法、除法和取余运算。 整数除法应该向零截断,也就是截去(truncate)其小数部分。例如,8.345 将被截断…

ps:题目来自力扣

两数相除

给你两个整数,被除数 dividend 和除数 divisor。将两数相除,要求 不使用 乘法、除法和取余运算。

整数除法应该向零截断,也就是截去(truncate)其小数部分。例如,8.345 将被截断为 8 ,-2.7335 将被截断至 -2 。

返回被除数 dividend 除以除数 divisor 得到的  。

注意:假设我们的环境只能存储 32 位 有符号整数,其数值范围是 [−231,  231 − 1] 。本题中,如果商 严格大于 231 − 1 ,则返回 231 − 1 ;如果商 严格小于 -231 ,则返回 -231 。

class Solution {public int divide(int dividend, int divisor) {// 处理边界情况,当被除数为最小值且除数为 -1 时,结果会超出 32 位有符号整数范围,直接返回最大值if (dividend == Integer.MIN_VALUE && divisor == -1) {return Integer.MAX_VALUE;}// 判断结果的符号,通过异或运算判断两数符号是否不同boolean negative = (dividend ^ divisor) < 0;// 将被除数和除数都转换为负数,因为负数的范围更大,能避免溢出问题dividend = -Math.abs(dividend);divisor = -Math.abs(divisor);int result = 0;while (dividend <= divisor) {int tempDivisor = divisor;int multiple = 1;// 不断将除数翻倍,同时倍数也翻倍,直到翻倍后的除数大于当前被除数while (dividend - tempDivisor <= tempDivisor) {tempDivisor <<= 1;multiple <<= 1;}// 减去当前能减去的最大的除数倍数dividend -= tempDivisor;// 累加对应的倍数到结果中result += multiple;}// 根据之前判断的符号,决定结果的正负return negative ? -result : result;}
}

代码解释

本题要求在不使用乘法、除法和取余运算的情况下,计算两个整数的商,并且要考虑 32 位有符号整数的范围。我们可以采用减法和位运算的方法来模拟除法。

具体步骤

  1. 处理边界情况
    • 当被除数为 Integer.MIN_VALUE 且除数为 -1 时,商为 Integer.MAX_VALUE + 1,会超出 32 位有符号整数的范围,所以直接返回 Integer.MAX_VALUE
  2. 判断结果的符号
    • 通过异或运算 (dividend ^ divisor) < 0 判断被除数和除数的符号是否不同,如果不同则结果为负。
  3. 将被除数和除数转换为负数
    • 为了避免溢出问题,将被除数和除数都转换为负数,因为负数的范围比正数大。
  4. 模拟除法过程
    • 使用 while 循环,只要被除数小于等于除数,就继续进行除法操作。
    • 在每次循环中:
      • 初始化临时除数 tempDivisor 为除数,倍数 multiple 为 1。
      • 不断将 tempDivisor 翻倍,同时 multiple 也翻倍,直到 tempDivisor 大于当前被除数。
      • 用被除数减去 tempDivisor,并将 multiple 累加到结果 result 中。
  5. 根据符号返回结果
    • 根据之前判断的符号,决定最终结果的正负,如果为负则返回 -result,否则返回 result
http://www.dtcms.com/wzjs/68521.html

相关文章:

  • 太原制作网站网址收录平台
  • 怎么做网站免网店推广分为哪几种类型
  • 一个主机放几个网站衡阳网站优化公司
  • php做网站真的有前途吗凡科建站怎么用
  • 定制开发电商网站建设多少钱郑州模板网站建设
  • 做网站给文件不侵权企业网站的作用有哪些
  • 郑州网站关键词优化外包浙江网络推广公司
  • 汽车网站建设费用广西网站建设制作
  • 营销型网站模板免费下载什么都不懂能去干运营吗
  • 泉州网站建设选择讯呢2023百度秒收录技术
  • wordpress 分类目录代码西安百度关键词优化排名
  • 网站建设网络公司网站策划
  • 龙岗网站建设设计服务东莞网站推广哪里找
  • 手机网站开发 教程和生活app下载安装最新版
  • 网站开发参考文献2015年后关键词文案生成器
  • 教育局两学一做网站seo排名培训公司
  • 公司如何申请一个网站网址百度指数下载
  • 母婴网站模板dede爱站网关键词查询工具
  • 纪委网站建设的建议网络营销工具
  • 铭坐网站建设百度开户联系方式
  • 做面膜的网站网站制作公司排名
  • 博彩网站自己做免费广告制作软件
  • 24免费医生在线咨询男科百度seo多久能优化关键词
  • 建立什么指标体系和评价程序规范优化网站排名方法教程
  • 郑州网站建设公司西地那非片多少钱一盒
  • 企业注册百家号可以做网站吗湖南百度seo排名点击软件
  • 广告宣传语昆明网站seo优化
  • wordpress 获取文章评论seo工作内容和薪资
  • 程序员wordpress成都官网seo服务
  • 网站做跳转付款我要登录百度