发布于2021-05-29 23:21 阅读(1228) 评论(0) 点赞(1) 收藏(1)
1.CPU和内存是由许多晶体管组成的电子部件,简称IC
--物理上,这二者都有许多触角
2.CPU从功能上分为4个部分:寄存器、控制器、运算器、时钟
--见名知意
3.程序启动后,根据时钟信号,控制器从内存中读取指令和数据。通过对这些指令加以解释和运行,
运算器就会对数据进行运算,控制器根据该运算结果来控制计算机。
--计算过程中,可以将数据暂存至寄存器,谁还不是个宝宝
4.CPU是具有各种功能的寄存器的集合体,分为8种,分别是累加寄存器、标志寄存器、程序计数器、指令寄存器、栈寄存器、
基址寄存器、变址寄存器、通用寄存器
--前5种只有一个
5.程序的流程分为顺序执行、条件执行、循环执行三种
--和Java代码一样
6.机器指令主要是:数据转送指令、运算指令、跳转指令、call/return指令
--一看还真不多
7.IC有许多引脚,每个引脚只有两个状态,有电没电,与二进制完美符合。
--就是你了
8.一个引脚是一位,8位为一个字节
9.移位运算:将二进制的各位数值进行左右移位的运算。分为左移(<<)和右移(>>),左移运算时,空出的低位,用0补充。右移运算时,空出的高位,用符号位的数值补充
--符号位就是左一,如0000 0001,符号位是0;1000 0001,符号位是1
10.二进制的最高位(左一)为符号位,0表示正数或者0,1表示负数。
11.8位二进制的1是0000 0001,那么-1是1000 0001?
不是的,因为1+(-1)=0,但是0000 0001 + 1000 0001 = 1000 0010,明显不是0
这是因为计算机做二进制的减法运算时,实际上用的是加法运算。
12.表示负数时,需要用“二进制的补数”,补数:用正数表示负数
--绕进去了没
13.补数求法:各位数的数值全部取反,然后加1
- -1,也就是要用1的补数代替
- 1:0000 0001
- 取反:1111 1110
- 加1后:1111 1111
-
- 所以-1的8位二进制是1111 1111
-
- 1+(-1)就是
- 0000 0001
- +
- 1111 1111
- =
- 1 0000 0000
-
- 溢出的高位舍去,变成了0000 0000
14.二进制的值取反加1,再与二进制的原值相加,结果为0
15.计算3-5
3-5
就是
3+(-5)
3为 0000 0011
-5为5的补数
- 5为 0000 0101
- 取反:1111 1010
- 加1: 1111 1011
-
- -5即为 1111 1011
0000 0011
+
1111 1011
=
1111 1110
那么结果值1111 1110 它的最高位是1,表示负数。那么它到底是多少呢?
可以先看下它的补数
- 原数:1111 1110
- 取反:0000 0001
- 加1:0000 0010
0000 0010换算为10进制的话,就是2
那么1111 1110按照 原数+补数=0 的原则,换算为就是-2
所以3-5=-2
16.逻辑右移,高位补的是0,算术右移,高位补的是符号位的数值
17.逻辑运算,0为false,1为true
原文链接:https://blog.csdn.net/JustDI0209/article/details/117351658
作者:小光头吃饭不用愁
链接:http://www.javaheidong.com/blog/article/207937/625786b32a313a4c87e3/
来源:java黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 java黑洞网 All Rights Reserved 版权所有,并保留所有权利。京ICP备18063182号-2
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!