深入理解计算机操作系统学习笔记(1)
来源:互联网 发布:java中获取数组的长度 编辑:程序博客网 时间:2024/05/19 05:39
关于布尔代数:
布尔代数中的~,^,|,&分别对应于逻辑运算中的非,异或,或,且运算。
逻辑运算和C语言中的位运算是不同的:逻辑运算和位运算是不同的,尽管他们都用了布尔代数。逻辑运算默认非零的均为1,任何控制和零值都是零,也就是真和假,并且逻辑运算具有短路性。这两个特性在位运算中是没有的~
移位运算:
左移位:从左至右结合,丢弃最高位,并在后面补零
右移位:
1,逻辑右移:在高位补零
2,算数右移: 在高位补最高位的有效值
在C中,对于无符号数的右移必须是逻辑的,而对有符号数一般来说都是算数右移。移位的数量尽量要小于字长。
补码从位向量到整数的映射:
利用的是位权相乘的形式,只不过因为最高位的符号位是1表示的是负数,那么在位权相加的时候,最高位也要乘负权。
关于强制类型转换:
一个数值,无论是利用小端法还是大端法储存在内存中,他们的位表示是不变的。强制类型转换,并不改变数字在内存中本身的位表示,而是改变了对这些位的解释方式。比如,负数补码的权重变成了负数而不是正数。有符号和无符号数值之间的转化也是一样的。但是前提是,转换的数字的字长必须都相同。
某一个有符号数与某一个无符号数肯定会对应一个唯一的位表示。
如果运算中出现了有符号数和无符号数两种,那么会强制转化为无符号数进行运算。都为非负数。
0 0
- 深入理解计算机操作系统学习笔记(1)
- 深入理解计算机操作系统(笔记)
- 深入理解计算机操作系统(2.3.1)
- 深入理解计算机学习笔记(一)
- 深入理解计算机操作系统(2.1.1、2.1.2)
- 深入理解计算机操作系统(杂贴)
- 深入理解计算机操作系统(一)概要
- 深入理解计算机操作系统(2.1.3)
- 深入理解计算机操作系统(2.2.4)
- 深入理解计算机操作系统(2.2.7)
- 深入理解计算机操作系统(2.2.7)
- 深入理解计算机操作系统(2.3.2)
- 深入理解计算机操作系统(2.3.3)
- 深入理解计算机操作系统(2.4.2)
- 深入理解计算机笔记1
- 《深入理解计算机操作系统》资料
- 计算机操作系统学习笔记1
- 理解计算机操作系统(1)
- 【wikioi】1174靶形数独
- 黑马程序员——单例设计模式
- shell学习笔记
- TCP客户/服务回射器程序
- Linux中errno使用
- 深入理解计算机操作系统学习笔记(1)
- hibernate配置c3p0
- ASP.NET MVC与WCSF中MVP模式比较
- U003 UML 状态图
- myeclipse集成ant
- 图像超分辨率技术简述
- StAX的一个隐秘bug
- leetcode第一刷_3Sum
- 装饰器设计模式