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

网站后台ftp账户网站没有友情链接

网站后台ftp账户,网站没有友情链接,网站建设预算明细,京津冀协同发展建议假设我们有一个 long 类型的变量 l&#xff0c;我们希望恢复其绝对值。以下是两种方法的对比&#xff1a; 方法1&#xff1a;使用条件语句 这个很好理解&#xff0c;负数时取负运算 &#xff0c;用于数值的符号反转。 long abs_value(long l) {if (l < 0) {return -l;} e…

假设我们有一个 long 类型的变量 l,我们希望恢复其绝对值。以下是两种方法的对比:

方法1:使用条件语句

这个很好理解,负数时取负运算 ,用于数值的符号反转。

long abs_value(long l) {if (l < 0) {return -l;} else {return l;}
}
方法2:使用位操作
long abs_value(long l) {long s = l >> 63;  // 获取符号位l = (l + s) ^ s;   // 恢复绝对值return l;
}

      l为正数时,s=0;  (l+s)^s = l^0=l;对于任何整数与 0 进行按位异或操作的结果总是 其本身。

      l为负数时,s=-1,即0xffff ffff ffff ffff;
      这是因为long l的最高位为符号位,负数的最高位为1;右移操作会将变量的二进制表示向右移动指定的位数,空出的位数会用符号位的值来填充,l>>63,左侧空位全补1就得到0xffff ffff ffff ffff,该值对应-1。

在计算机中,负数以补码的形式表示。对于一个负数 x,其补码表示为:

  1. 取反(按位取反)。

  2. 加1。

   s=-1时, (l+s)^s = (l-1)^0xffff ffff ffff ffff  正好是负数取补码的逆过程,所以相当于获取了负数的绝对值。

方法2的优势:

1. 避免条件分支

使用条件语句(如 if 语句)会导致代码中出现分支。在现代处理器中,分支预测失败可能会导致性能下降。通过使用位操作,可以避免条件分支,从而提高代码的执行效率。

2. 提高性能

位操作通常比条件分支更快,因为它们直接在寄存器级别进行操作,而不需要进行复杂的控制流判断。这在性能敏感的应用中尤其重要。

3. 减少代码复杂性

虽然位操作可能看起来有些复杂,但它们实际上可以减少代码的复杂性,特别是在处理整数操作时。位操作通常更简洁,且不需要额外的变量或复杂的逻辑。

但是实际测试时,还是方法1的性能更高一些:

xxx@:~/test/c-func$ ./a.out
Time taken by abs_value_if: 4.517215 seconds
Time taken by abs_value_bit: 4.865139 seconds


 

http://www.wangmingla.cn/news/102871.html

相关文章:

  • 如何建网站平台seo网络营销
  • 申请了域名先做网站还是先备案优惠活动推广文案
  • 深圳罗湖网站制作公司百度app安装免费下载
  • 电子商务网站建设毕业论文windows11优化大师
  • 商务网站建设网站seo优化包括哪些方面
  • 个人做网站的时代已经过去优化一个网站需要多少钱
  • 中元建设集团网站window优化大师
  • 桂林市区漓江水倒灌乐陵seo外包公司
  • 长沙网站制作app开发公司百度app官网下载安装
  • 网站建设体会会计培训机构
  • 专做动漫的网站台州关键词优化报价
  • 广州电商网站建设排名优化软件点击
  • wordpress 电子商务模板seo技术中心
  • 网站的留言功能网页制作代码模板
  • 房地产企业网站开发sem搜索引擎营销是什么
  • 深圳专门做兼职的网站南京seo公司哪家
  • 福州快速网站建设百度官方网
  • 接收外国电视卫星天线专业的seo排名优化
  • 龙岗网站建设深圳信科宁波百度关键词推广
  • 网站建设与管理和计算机网络技术网络产品运营与推广
  • 玄武模板网站制作品牌谷歌浏览器2021最新版
  • 百度做的网站迁移广州番禺最新发布
  • java动态网站开发教程北京百度seo排名点击软件
  • 网站被惩罚之后怎么做天津网络推广公司
  • 软件开放和网站开发企业策划方案怎么做
  • vi设计经典案例seo系统源码出售
  • 如何做建筑一体化的网站百度公司
  • 目前网站开发有什么缺点网络营销师工作内容
  • b2b网站怎么注册今天有什么新闻
  • 如何用虚拟主机做网站郑州黑帽seo培训