第二章 数据是用二进制表示的
本章的重点是掌握使用二进制数来表示信息的方法及其运算机制。
用二进制表示计算机信息的原因是由于计算机内部是由于IC这种电子部件构成的,他的两侧有数个乃至数百个引脚,所有引脚只有直流电压0V和5V 两个状态,也就是说IC的两个引脚只能表示两个状态。因为IC 有的这个特性,所以就决定了计算机只能用二进制数来处理。所以二进制的计数方式就变成了0,1,10......这种形式。计算机处理信息的最小单位是------位(bit)。计算机信息处理的基本单位是8位二进制数,也就是一个字节。字节是最基本的信息计量单位。位是最小单位,字节是基本单位。用字节单位处理数据时,如果数字小于存储数据的字节数,那么最高位上就用零填补在程序中,所有进制的数字或文字等技术的信息在编译后都会转化为二进制,所以程序运行过程中是以二进制为主进行处理信息。
将进制数转化为二进制数,是一个重点。以十进制为例,转化为二进制,只需将二进制数的各位数的值和位权相乘,然后相加即可。数字的位数不同,位权也不同。“○○的××次幂”表示位权。十进制是以十为基数的计数方法,二进制则是以二为基数的计数方法。 几进制就是几,也就是它的基数。
了解程序运行原理的关键是要了解二进制数所特有的运算,也就是计算机所特有的运算。首先是移位运算。移位运算指的是将二进制数值的各数位进行左右移位的运算。移位有左移(向高位方向)用符号表示为(<<)和右移(向低位方向)用符号表示为(>>)两种。<<运算符和>>运算符的做测试被移位的值,右侧表示要移位的位数。掌握位运算和逻辑运算的机制是一项基本技能,所以一定要掌握。二进制数中表示,负数值时一般会把最高位作为符号来使用,因此我们把这个最高位称为符号位。符号位是0时表示正数,符号位是1时表示负数。便于计算机处理的补数就是用正数来表示负数。补数求解的变换方法就是“取反+1”。原则是将二进制数的值取反后加1的结果和原来值相加结果为零。右移有移位后在最高位补0和补1的两种情况,当二进制数的值表示图形模式而非数值时,移位后需要在最高位补0,类似于霓虹灯往右滚动的效果,这就称为逻辑右移。将二进制数作为带符号的数值进行运算时,移位后要在最高位填充移位前符号位的值(0或1),这就称为算术右移.。只有在右移时才必须区分逻辑位移和算术位移,左移时无论是图形模式(逻辑左移)还是相乘运算(算数左移),都只需在空出来的低位补0即可。计算机能处理的运算大体可分为算术运算和逻辑运算,算术运算是指加减乘除四则运算,逻辑运算是指对二进制数个数位的0和1分别进行处理的运算,包括逻辑非(NOT运算),逻辑或(OR运算),逻辑异或(XOR运算),逻辑与(AND运算)四种。
以上便是我在第二章中所学习到的。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)