首页 > 编程语言 >《程序是怎样跑起来的》第二章理解

《程序是怎样跑起来的》第二章理解

时间:2024-02-20 09:04:47浏览次数:26  
标签:右移 运算 二进制 程序 乘除 理解 算数 第二章 补数

二进制数是一种基数为2的数制系统,它只有两个数码0和1。在计算机中,所有的信息,包括指令和数据,都是以二进制的形式存储和处理的。补数主要用于实现计算机中的减法运算,因为计算机内部通常只执行加法运算。对于一个正数,其补数就是其本身;对于一个负数,其补数是该负数绝对值的二进制表示取反后加1。移位运算可以看作是乘除运算的一种快速实现方式。左移一位相当于乘以2,右移一位相当于除以2。乘除运算涉及乘数或除数的每一位,可能涉及多步计算。移位运算直接操作二进制数的位,通常只需要一步就能完成。移位运算比乘除运算更快,但只适用于乘除数为2的幂的情况。
逻辑右移:将二进制数向右移动,左侧空出的位用0填充。这通常用于无符号整数的右移。
算数右移:将二进制数向右移动,左侧空出的位用符号位(最高位)填充。这通常用于有符号整数的右移。对于正数,逻辑右移和算数右移的结果是一样的,因为左侧填充的都是0。但对于负数,两者的结果不同,因为算数右移会保持数的符号不变。

标签:右移,运算,二进制,程序,乘除,理解,算数,第二章,补数
From: https://www.cnblogs.com/SXY123/p/18022304

相关文章

  • 《程序是怎么跑起来的》第五章
    今天我阅读了程序是怎么跑起来的中的第五章“内存和磁盘的亲密关系”。这一章一共有五个部分组成,它们分别是5.1不读入内存就无法运行,5.2磁盘缓存加速来了磁盘的访问速度,5.3虚拟内训吧磁盘作为部分内存来使用,5.4节约内存的编写方法。和5.5磁盘的物理构造。首先对于磁盘和硬盘,它们有......
  • 对于压缩原理和部分压缩方法的认识(《程序是怎样跑起来的》第6章)
    在阅读过后《程序是怎样跑起来的》第6章后,我了解了关于文件压缩的相关知识。文件压缩指的就是将文件中重复的字符用“数据×出现次数”的方式表达出来,就如书中所说的AAABBDDFFF这样10个字符用A×3+B×2+D×2+F×3=A3B2D2F3来表示,这是RLE算法的压缩方式,但是这种算法也存在一定的缺陷......
  • 《系统科学方法概论》第二章
    在本章中,常绍舜详细介绍了系统科学的发展历程。他指出,系统科学起源于二十世纪的美国,随后在全球范围内得到了广泛的发展和应用。作者详细介绍了系统科学的重要里程碑和代表性学派,如系统论、控制论、信息论等。作者还提到了系统科学在不同领域的应用,如管理科学、工程科学、生态学等......
  • Go语言精进之路读书笔记第29条——使用接口作为程序水平组合的连接点
    如果说C++和Java是关于类型层次结构和类型分类的语言,那么Go则是关于组合的语言。——RobPike,Go语言之父“偏好组合,正交解耦”29.1一切皆组合在语言设计层面,Go提供了诸多正交的语法元素供后续组合使用,包括:Go语言无类型体系(typehierarchy),类型定义独立;方法和类型是正交......
  • 深入理解 Java 方法重载与递归应用
    Java方法重载方法重载允许在同一个类中定义多个具有相同名称的方法,但参数列表必须不同。语法:returnTypemethodName(parameter1,parameter2,...,parameterN){//方法体}示例:publicclassMain{//重载add方法,支持int和double类型参数staticinta......
  • 程序设计天梯赛个人题解 L2-047-2 锦标赛
    题目分析综合题意,将最后一场比赛视为顶层,第一轮比赛视为第一层,则有:下层每场比赛选出一个胜者,每两个下层的胜者间举行本层的一次比赛,显然这是一个二叉树。考虑还原建立每场比赛的树。由于最后一层的比赛是$2^k$个选手参加,故这是个完美二叉树,使用完全二叉树的数组储存方式,则标号......
  • 2024程序员能有什么新的出路?
    前言前两天和一个前端同学聊天,他说不准备再做前端了,准备去考公。不过难度也很大。从20152016年那会儿开始互联网行业爆发,到现在有7、8年了,当年20多岁的小伙子们,现在也都30+了大量的人面临这个问题:大龄程序员就业竞争力差,未来该如何安身立命?先说我个人的看法:除非你......
  • 《程序是怎样跑起来的》第三章读后感
    《程序是怎样跑起来的》第三章的内容是关于计算机进行小数运算时出错的原因。计算机运算出错的原因是有一些十进制的小数无法转换成二进制数。例如,十进制数0.1,就无法用二进制数正确表示,小数点后面即使有几百位也无法表示。什么是浮点数呢?很多编程语言中都提供了两种表示小数的数......
  • 《程序是怎样跑起来的》第六章的读后感
    又到了读书分享的时候,本篇分享《程序是怎样跑起来的》第六章的读后感,亲自尝试压缩数据。文件是将数据存储在磁盘等存储媒介中的一种形式。程序文件中存储数据的单位是字节。文件的大小之所以用××KB、××MB等来表示,就是因为文件是以字节(B=Byte)为单位来存储的。文件就是字节数据......
  • JAVA基础-理解重载和重写
    1.Java的方法重载(Overload):就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。也就是说在一个类中,同名的方法如果有不同的参数列表(参数类型不同、参数个数不同甚至是参数顺序不同)则视为重载。同时,重载对返回类型没有要求,可以相同也可以不同,但不能通......