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

国外网站后台模板下载世界球队最新排名榜

国外网站后台模板下载,世界球队最新排名榜,上海网络公司招聘信息,保定网站 优文章目录《计算机系统基础》——运算整数按位运算作用操作位移运算作用操作乘法运算除法运算浮点数加减运算乘除运算《计算机系统基础》——运算 🚀🚀本章我们需要介绍的是有关C语言里面的运算,当然了,我们不会是介绍简单的运算&…

文章目录

  • 《计算机系统基础》——运算
    • 整数
      • 按位运算
        • 作用
        • 操作
      • 位移运算
        • 作用
        • 操作
      • 乘法运算
      • 除法运算
    • 浮点数
      • 加减运算
      • 乘除运算

《计算机系统基础》——运算

🚀🚀本章我们需要介绍的是有关C语言里面的运算,当然了,我们不会是介绍简单的运算,而是详细地介绍一下我们在日常开发中进行运算时可能遇到的问题。好了就让我们开始今天的学习吧!

整数

按位运算

作用

🚀🚀按位运算在我们日常的开发中出现的比较少,他的作用主要就是对位串实现“掩码”(mask)操作或相应的其他处理,比如在嵌入式领域一般用来控制寄存器的值,以达到相应的功能。

操作

  • 按位或:“|”
  • 按位与:“&”
  • 按位取反:“~”
  • 按位异或:“^”

🚀🚀比如用下面的语句用“&”实现“掩码”操作,作用为从数据y中提取低位字节,并使高字节为0。

y & 0x00FF

位移运算

🚀🚀一提到移位操作,很多人就是觉得只是用来乘除2的,但是事情并没有那么简单,接下来我们来详细的介绍一下。

作用

🚀🚀位移运算在我们的日常开发中一般都是用来乘除2的,但是它不仅仅只有这一个功能,除此之外,它还可以提取部分信息。

操作

  • 左移: x<<k(乘2)
  • 右移: x>>k(除2)
    • 逻辑右移:在左边补k个0
    • 算数右移:在左边补k个最高位的有效数字

🚀🚀我们在下方给出关于逻辑右移和算数右移的例子来帮助大家理解。

操作值1值2
参数x[01100011][10010101]
x << 4[00110000][01010000]
x >> 4(逻辑右移)[00000110][00001001]
x >> 4(算数运算)[00000110][11111001]

🚀🚀如果位移数大于数据位数怎么办呢?答案很简单,会对数据取余,比如对32位数据右移36位,其实就是右移4位。

乘法运算

🚀🚀在高级语言中,两个n位整数相乘得到的结果通常也是 一个n位整数,也即结果只取2n位乘积中的低n位

🚀🚀比如:0101 * 0101 = 00011001,我们只取后4位,得到1001,经过换算,结果应该是-111,也就是-7,显然与我们想要得到的数字明显不一样。

🚀🚀那我们有没有什么办法去判断我们的结果是否是正确的呢?或者说,到底什么情况下结果不会溢出?答案是肯定的,我们接下来就来介绍一下。

🚀🚀判断我们最后的结果是正确的,我们可以使用下面的语句去判断:

!x || z/x==y 为真时

🚀🚀然后当我们的结果在:-2n-1 ≤ x*y < 2n-1 时,结果是不会溢出的,其实也就是:乘积的高n+1位为全0或全1,这样的结果就是正确的。


🚀🚀整数乘法运算比移位和加法等运算所用时间长,因此,编译器在处理变量与常数相乘时,往往以移位、加法和减法的组合运算来代替乘法运算,所以我们可以使用位移来代替乘法指令,比如x * 20,因为20 = 16 + 20 = 24 + 22 ,所以我们可以转换为(x<<4)+(x<<2)。

除法运算

🚀🚀除法运算和乘法运算其实是类似的,但是只有带符号整数进行**-2n-1/-1 = 2n-1**操作会发生溢出之外,其他都不会溢出,因为2n-1无法用n位来表示。

#include<stdio.h>void main ()
{int u = 0x80000000; printf ("u = %x = %x = %d\n", u , u / -1, u / -1);      
}

🚀🚀运行结果如下所示:u = 80000000 = 80000000 = -2147483648,我们可以看到,在16进制下,u和u / -1 的结果是一样的。

🚀🚀除法运算的商为整数,于是如何进行取整就很重要了,我们只需要记住一个原则,就是按照朝0的方向舍入。即正数商取比自身小的最接近整数,负数商取比自身大的最接近整数

🚀🚀同样的,为了缩短除法运算的时间我们可以采用右移运算来实现。如果能整除,我们就直接右移,如果不能整除,我们就可以加一个偏移量(2k -1),再右移即可,接下来我们就来介绍一下。

14/4 = 30000 1110 >> 2 = 0000 0011
-14/4 = 1111 0010 + 0000 00111111 0101 >> 2 = 1111 1101 = -3

浮点数

🚀🚀对于浮点数,我们就不做过多的介绍,简单介绍一下运算以及其异常,但是浮点运算涉及的精度以及异常是非常重要的,有机会以后可以单独介绍一下,

加减运算

🚀🚀对于浮点数的加减运算,我们只需要注意,他是先对齐阶码,再进行运算,如下所示:

A ± B = (Ma + Mb* 2-(Ea-Eb)) * 2Ea (假设Ea>=Eb )

🚀🚀需要注意的就是,当我们的尾数高位为0,则需左规:尾数左移一次,阶码减1,直到MSB为1。当尾数最高位有进位,需右规:尾数右移一次,阶码加1,直到MSB为1

乘除运算

🚀🚀乘除运算就需要注意阶码上溢(一个正指数超过了最大允许值)和下溢(一个负指数超过了最小允许值)的问题。过多的就不再介绍了,感兴趣的同学可以自行去查找资料。

http://www.hkea.cn/news/840511/

相关文章:

  • 专门做拼团的网站西安网站开发
  • 怎么看网站开发语言太原seo推广
  • 什么网站做宣传好新乡网站seo
  • 济南网站制作服务价格信息流优化师前景
  • 新手制作网站工具bt磁力猪
  • 怎么做网站系统深圳头条新闻
  • 北京网站设计公司新鸿儒seo公司的选上海百首网络
  • 百姓网二手拖拉机百度seo优化排名客服电话
  • 北京南站是丰台站吗seo优化什么意思
  • 外贸营销型建站关键词全网搜索工具
  • 有什么网站可以做扣扣头像腾讯企点app下载安装
  • 网站设计怎么做链接拉新推广怎么快速拉人
  • 怎么自己做礼品网站补肾壮阳吃什么药效果好
  • 网站用户建设的设计与实现网站推广营销运营方式
  • html5韩国网站模板seo网站优化培训班
  • 网站被iframe信息推广的方式有哪些
  • 通信技术公司网站建设app推广代理
  • 做电影网站会违法吗营销说白了就是干什么的
  • 用外链技术做视频网站关键词在线听免费
  • 做网站常用的css最近三天的新闻热点
  • 全国人大常委会副委员长登封seo公司
  • 顶岗实践网站开发推广管理
  • 九号公司网站优化效果
  • 模板网站建设方案北京seo排名收费
  • 做箱包关注哪个网站泰州seo平台
  • 如何给网站做流量站长工具seo
  • 桂林网站开发建设推广任务接单平台
  • 化妆品 网站建设案例seo超级外链工具免费
  • 网站建设的广告语seo自动工具
  • 有专门做市场分析的网站么太原关键词优化报价