博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《程序是怎样跑起来的》第二章
阅读量:5136 次
发布时间:2019-06-13

本文共 854 字,大约阅读时间需要 2 分钟。

       计算机中的数据都是用二进制数表示的。IC形状的不同决定了计算机的信息数据只能用二进制来处理。计算机处理信息的最小单位——位,就相当于二进制中的一位。位的英文bit。二进制数的位数一般是8的倍数,计算机处理信息的基本单位是8位二进制数,常被称为一个字节。字节是最基本的信息计量单位,内存和磁盘都使用字节单位来存储和读写数据。位是最小单位,字节是基本单位。 用字节单位处理数据时,如果数字小于存储数据的字节数(=二进制数的位数),那么高位上就用0填补。在程序中,即使是用十进制数和文字等记述信息,在编译后也会转换成二进制数的值。

       移位运算是将二进制数值的各数位进行左右移位(shift)的运算,分为左移(向高位方向)和右移(向低位方向),一次运算可进行多个数位的移动操作。移位运算也可以通过数位移动来代替乘法运算和除法运算。

       计算机处理的“补数”就是用正数来表示负数。要获得补数需要将二进制数的数值全部取反,然后再将结果加1。注意:当运算结果为负数时,计算结果的值也是以补数的形式来表示的。

       当二进制数的值表示图形模式而非数值时,移位后需要在最高位补0,这就称为逻辑右移。将二进制数作为带符号的数值进行运算时,移位后要在最高位填充移位前符号位的值(0或1),这就是算术右移。只有在右移的时候才必须区分逻辑位移和算数右移,左移时,无论是图形模式(逻辑左移)还是相乘运算(算数左移),都只需在空出来的低位补0即可。符号扩充就是指在保持值不变的前提下将其转换成16位和32位的二进制数。

       将二进制数表示的信息作为四则运算的数值来处理就是算术,像图形模式将数值处理为单纯的0和1的罗列就是逻辑。计算机能处理的运算可分为算术运算和逻辑运算。算术运算指加减乘除四则运算。逻辑运算指对二进制数各数字位的0和!分别进行处理的运算,包括逻辑非(NOT运算)、逻辑与(AND运算)、逻辑或(OR运算)和逻辑或(XOR运算)四种。

转载于:https://www.cnblogs.com/1999dbl/p/10467440.html

你可能感兴趣的文章
springboot jpa 保存乱码
查看>>
redhat linux6.5升级openssh
查看>>
spring父子容器
查看>>
windows+两个ubuntu系统的引导启动问题
查看>>
修改默认共享内存tmpfs大小
查看>>
ABAP版连连看
查看>>
UI基础六:UI报弹窗确认
查看>>
SAP跳过权限检查/前提是有debug权限
查看>>
13年学习
查看>>
云部署大数据
查看>>
python rsa 加密
查看>>
HTML5+ API 学习
查看>>
CodeForces 670D2 Magic Powder 二分
查看>>
不能以方法的方式使用不可调用的“system.web.httprequest.querystring”
查看>>
试用dotnetbar10,提供下载链接
查看>>
iptables动作总结之一
查看>>
单纯形法
查看>>
897. Increasing Order Search Tree
查看>>
51nod 1174 区间中最大的数
查看>>
ListView实现分页功能【附Demo源码】
查看>>