读书笔记-程序是如何跑起来的(第二章)
2017-03-24 11:14
232 查看
1.由于cpu中的引脚只有两种状态,0v或者5v,所以就只有0或1两种符号来表示计算机的状态
2.一个字节=8位二进制数(字节是信息计量的基本单位,位是最小单位)
3.二进制转十进制的换算:各个数位的数值乘以位权再相加
4.移位运算(计算机特有运算),通过对二进制数值的各个数位进行左右移位
左移位:低位要补位. 右移位:低位被舍弃
5.移位运算是计算机内部速度最快的运算,通过位运算来达到乘除数据的效果
6.二进制最高位一般为符号位,1表示负,0表示正
7,十进制的1表示为00000001,-1表示为11111111,只是由补数获得的结果,由于0和1以及位数的限制,导致二进制数的表示有一定的限制.像byte,1个字节,8位二进制,十进制范围是-128到127,二进制范围则表示为11111111到01111111
8,补数(用正数来表示负数)的算法.二进制位取反再加1
9.正数与负数做运算,则是将正数的二进制与负数的补数相加,而不是单纯的两个数的二进制相加,那样运算出来的结果是错误的
例如:1+(-1)
正确的计算是这样的:
例如:3-5这个运算则是将3的二进制00000011与(-5)的补数11111011相加
10.逻辑右位移(非数值二进制):位数向右移,高位补0
11.算术右移位(数值二进制):正数右移,高位补0,负数则是补数右移,高位补1
12.算术左移和逻辑左移都是低位补0(只有在右移时区分逻辑右移和算术右移)
13.符号扩充:8位扩充为16,32位等等,不管是正数或者负数,只要将符号位的数字进行高位扩充就行了
14.逻辑运算(二进制)的一些图例:
2.一个字节=8位二进制数(字节是信息计量的基本单位,位是最小单位)
3.二进制转十进制的换算:各个数位的数值乘以位权再相加
4.移位运算(计算机特有运算),通过对二进制数值的各个数位进行左右移位
左移位:低位要补位. 右移位:低位被舍弃
5.移位运算是计算机内部速度最快的运算,通过位运算来达到乘除数据的效果
6.二进制最高位一般为符号位,1表示负,0表示正
7,十进制的1表示为00000001,-1表示为11111111,只是由补数获得的结果,由于0和1以及位数的限制,导致二进制数的表示有一定的限制.像byte,1个字节,8位二进制,十进制范围是-128到127,二进制范围则表示为11111111到01111111
8,补数(用正数来表示负数)的算法.二进制位取反再加1
9.正数与负数做运算,则是将正数的二进制与负数的补数相加,而不是单纯的两个数的二进制相加,那样运算出来的结果是错误的
例如:1+(-1)
正确的计算是这样的:
例如:3-5这个运算则是将3的二进制00000011与(-5)的补数11111011相加
10.逻辑右位移(非数值二进制):位数向右移,高位补0
11.算术右移位(数值二进制):正数右移,高位补0,负数则是补数右移,高位补1
12.算术左移和逻辑左移都是低位补0(只有在右移时区分逻辑右移和算术右移)
13.符号扩充:8位扩充为16,32位等等,不管是正数或者负数,只要将符号位的数字进行高位扩充就行了
14.逻辑运算(二进制)的一些图例:
相关文章推荐
- 读书笔记-程序是如何跑起来的(第一章)
- 《Advanced .NET Debugging》 读书笔记 Listing 3-2: 如何查看程序的PID
- 《CLR via C# 》读书笔记(1) -- .Net程序是如何生成的
- Android adb.exe程序启动不起来,如何处理
- 在Java中,如何把一个程序的结果需要保存起来,供下一个程序使用的方式
- c程序是如何跑起来的?
- Keil平台中如何让程序在RAM中跑起来
- Android adb.exe程序启动不起来,如何处理
- Android adb.exe程序启动不起来,如何处理
- Android adb.exe程序启动不起来,如何处理
- Android adb.exe程序启动不起来,如何处理
- 《Linux程序设计第四版》读书笔记 - 第二章 Shell程序设计
- Android adb.exe程序启动不起来,如何处理
- Android adb.exe程序启动不起来,如何处理
- Android adb.exe程序启动不起来,如何处理
- HelloWorld程序如何运行起来的
- Android adb.exe程序启动不起来,如何处理
- 如何让基于对话框的MFC程序一运行起来就完全隐藏
- Android adb.exe程序启动不起来,如何处理
- Android adb.exe程序启动不起来,如何处理