首页 > 编程语言 >《程序是怎样跑起来的》——第2章 数据使用二进制数表示的

《程序是怎样跑起来的》——第2章 数据使用二进制数表示的

时间:2024-02-18 15:01:47浏览次数:29  
标签:右移 运算 二进制 程序 IC 数位 移位 怎样

一、程序的运行机制与二进制数的关系
1、程序的运行机制:要想对程序的运行机制形成一个大致印象,就要了解信息(数据)在计算机内部是以怎样的形式来表现的,又是以怎样的方法进行运算的。
2、二进制数的作用:在C和Java等高级语言编写的程序中,数值、字符串和图像等信息在计算机内部都是以二进制数值的形式来表现的。
3、两者关系:只要掌握了使用二进制数来表示信息的方法及其运算机制,也就自然能够了解程序的运行机制了。
二、用二进制数表示计算机信息的原因
IC的特性:IC的所有引脚,只有直流电压0V或5V两个状态。也就是说,IC的一个引脚,只能表示两个状态。IC的这个特性,决定了计算机的信息数据只能用二进制数来处理。虽然二进制数并不是专门为IC而设计的,但是和IC的特性非常吻合(图2-1)。计算机处理信息的最小单位——位,就相当于二进制中的一位。位的英文bit是二进制数位(binary digit)的缩写。
(1、IC是集成电路(Integrated Circuit)的简称,有模拟IC和数字IC两种。
2、大部分IC的电源电压都是+5V。不过,为了控制电量的消耗,有的IC也会使用+5V以下的电压。如果IC使用的电源电压为+5V,那么引脚状态就不只是0V和+5V,还存在不接收电流信号的高阻抗(high impedance)状态。


程序中,即使是用十进制数和文字等记述信息,在编译后也会转换成二进制数的值,所以,程序运行时计算机内部处理的也是用二进制数表示的信息。
示例:

三、二进制数
1、什么是二进制数:
示例:把00100111这个二进制数值转换成十进制数值。二进制数的值转换成十进制数的值,只需将二进制数的各数位的值和位权相乘,然后将相乘的结果相加即可。

2、二进制数的特征:
①所有数的0次幂都是1。
②数值的表现方法,进位计数制中各数位上可能有的数值的个数。十进制数的基数是10,二进制数的基数是2。
四、二进制数的运算
1、二进制数运算的作用:二进制数所特有的运算,也是计算机所特有的运算,因此可以说是了解程序运行原理的关键。
2、运算方法:移位运算和乘除运算。
(1)移位运算:移位运算指的是将二进制数值的各数位进行左右移位(shift=移位)的运算。移位有左移(向高位方向)和右移(向低位方向)两种。在一次运算中,可以进行多个数位的移位操作。
示例:00100111左移两位

(2)移位运算与乘除运算的关系:移位运算也可以通过数位移动来代替乘法运算和除法运算。
五、补数
1、概念:计算机在做减法运算时,实际上内部是在做加法运算。在表示负数时就需要使用“二进制的补数”。补数就是用正数来表示负数。
示例:获取00000001的补数的方法

这里所说的取反是指,把二进制数各数位的0变成1,1变成0。
2、负数表示有正误之分:
示例:
(1)负数表示有误时的情况:

(2)负数表示正确时的情况:

六、逻辑右移和算术右移的区别
1、逻辑右移:当二进制数的值表示图形模式而非数值时,移位后需要在最高位补0。类似于霓虹灯往右滚动的效果。这就称为逻辑右移。

2、区别:只有在右移时才必须区分逻辑位移和算术位移。左移时,无论是图形模式(逻辑左移)还是相乘运算(算术左移),都只需在空出来的低位补0即可。

标签:右移,运算,二进制,程序,IC,数位,移位,怎样
From: https://www.cnblogs.com/Li204217/p/18019322

相关文章

  • 《程序是怎样跑起来的》第四章
    首先,该章节详细解释了算法的概念,即算法是解决问题的步骤和方法。接着,该章节介绍了数据结构,即组织和存储数据的方式。数据结构的选择同样对程序的性能产生重要影响。例如,对于需要频繁查找的数据,使用哈希表或二叉查找树等数据结构可以显著提高搜索效率。此外,该章节还强调了算法和......
  • 对于计算机运算小数出错的认识(《程序是怎样跑起来的》第3章)
    通过阅读《程序是怎样跑起来的》第三章,我对于计算机处理数据有了进一步的了解。在第二章中我对于计算机使用二进制处理数据仅仅停留在处理整数部分,而在第三章,我认识到了计算机对于小数部分的处理。在书中说计算机处理小数部分往往会出错,阅读后我知道了其缘由,我认为及其根本是因为......
  • 《程序是怎样跑起来的》——第1章对程序员来说CPU是什么
    一、CPU的概念及作用1、概念:CPU是英文CentralProcessingUnit(中央处理器)的缩写,相当于计算机的大脑。(CPU是用来表示计算机内部元件功能的术语。)2、作用:对于程序员来说CPU是程序员用来弄清楚负责保存指令和数据的寄存器的机制。二、CPU的内部构成1、CPU的构成部分:CPU和内存......
  • 《程序是怎样跑起来的》第四章的读后感
    又到了读书分享的时候,本篇分享《程序是怎样跑起来的》第四章的读后感。熟练使用有棱有角的内存,计算机是进行数据处理的设备,而程序表示的就是处理顺序和数据结构。由于处理对象数据是存储在内存和磁盘上的,因此程序必须能自由地使用内存和磁盘。内存实际上是一种名为内存IC的电子元......
  • 《程序是怎样跑起来的》第五章读后感
    第五章主要讲的是内存与磁盘的密切联系,从储存程序指令和数据的角度来看,可以说内存和磁盘的功能是一样的。在计算机五大部件中,内存和磁盘都,属于存储器,但是利用电流实现存储的内存和利用磁实现存储的磁盘还是有所不同的,在存储容量相同的前提下,内存速度快但价格贵,磁盘速度慢但价格便......
  • 《程序是怎样跑起来的》第6章
    本章节中,主要讲自己动手压缩数据。我们通常使用的压缩方式是以zip为扩展名来压缩的。那么问题来了,在文件中存续数据的基本单位是什么?在doc,zip,txt,这些文件扩展名中,代表压缩文件的是那个?BMP格式的图片文件是经过压缩的吗?在Windows计算机经常使用的Shift-JIS编码中,一个半角英文......
  • 《程序是怎样跑起来的》第三章的读后感
    又到了每周的读书分享,本篇分享《程序是怎样跑起来的》第三章的读后感。大家可能会认为“万能的计算机是不会出现计算错误的”。但实际上,依然存在程序运行后无法得到正确数值的情况。其中,小数运算就是一个典型的例子。第三章就给我们解释了计算机进行小数运算时出错的原因,在本章中......
  • 《系统是怎样跑起来的》读后感——第四章 熟练使用有棱有角的内存
    1.内存的物理机制很简单内存实际上是一种名为内存IC的电子元件。虽然内存IC包括DRAM、SRAM、ROM等多种形式,但从外部来看,其基本机制都是一样的。内存IC中有电源、地址信号、数据信号、控制信号等用于输入输出的大量引脚(IC的引脚),通过为其指定地址(address),来进行数据的读写。V......
  • 《程序是怎样跑起来的》自己动手压缩数据
    一,文件是以字节为单位记录的,文件是字节数据的集合体,文件就是一串连续的字节数据二,游程编码的原理将文件内容用数据成重复次数的方式进行压缩,就是游程编码缺点:对于图片压缩率比较高,对于文本,文件则会增加它的内容,使他文本需内存量更大三,哈夫曼算法哈夫曼算法将出现次数多的数......
  • 《程序是怎样跑起来的》第四章读后感
    计算机是处理数据的机器,而程序负责规定处理步骤和数据结构作为处理对象的数据储存在内存和磁盘里,因此程序员必须能够灵活的使用内存和磁盘。内存的物理结构十分简单,它的本质上是一种名为内存芯片的装置。内存芯片内部有很多能储存8比特数据的容器,只要指定容器的地址就可以对数据进......