进制与数据宽度

进制的本质是什么:

由N个符号组成,逢N进1,(符号可以任意定义,可能会对解密者造成很大困扰!)

记住二进制与十六进制的映射
0000(0)
0001(1)
0010(2)
0011(3)
0100(4)
0101(5)
0110(6)
0111(7)
1000(8)
1001(9)

1010(A)
1011(B)

1100(C)
1101(D)
1110(E)
1111(F)

要学会查表:


image.png

可以很方便的进行加减乘除!


image.png

0-100个二进制数:
0,1,10,11,100,101,110,111,1000,1001
10011,1100,1101,1110,1111,......

其实书写二进制数的一个规律是这样的:遇到“满”是1,就不停的重复前面的"数",再加1

比如上面的这个例子:
0,1(现在位数全是1了,下面再加一个1,重复前面的数,即下面是10,11),
10,11(现在位数全是1了,下面再加一个1,重复前面的数,即下面是10,11)

数据宽度

数学上的数字,是没有大小限制的,可以无限大.但是在计算机中,由于受硬件的制约,数据都是有长度限制的(我们称之超过最多宽度的数据会被丢弃!)
image.png

在上面这幅图中

(小一点的"容器"):
  • 如果是有符号的话,以中间垂直这条线为界限,这条线的右边是正数,左边是负数;-1对应F(圆形里面的F);-2对应E(圆形里面的E);...-8对应8(圆形里面的8);F对应最大的负数:即-1;8对应最小的负数:-8
  • 如果是无符号的话,从0开始,到F,按照逆时针方向旋转,0~F
大一点的"容器"
image.png

逻辑与上面类似;

再大一点的"容器"
image.png

逻辑与上面类似;

再再大一点的"容器"
image.png

逻辑与上面类似;
无符号数:00000000-FFFFFFFF(32位)

常用的"容器"(其实是没有4位的,4位是2^4=16个数,对应第一个"圆")
BYTE 字节 8bit(2^8=256,对应第二个"圆")
WORD 双字节 16位
DWORD 四字节 32位

2个本质问题:
  • 计算机什么也不认识,只存0和1
  • 如果你存的数超过了它的界限,则毫不犹豫地扔掉
    关于有符号与无符号,是使用的时候定义的,计算机表示很无辜;

逻辑运算

逻辑运算可以算是CPU运算的本质
CPU是如何计算2+3=?
image.png
想要获取某个值的第N位值是多少

比如:想要知道8F的第四位

                 1000FFFF
   and           00001000
------------------------------------
                 00001000

运算完了之后看这位是什么原来的位就是什么!
最简单的加密算法:


image.png
image.png

如果将数放在CPU里面,运算速度是最快的,放在内存里面,存取速度相对慢一点.


image.png

上图中编号需要记忆好!
寄存器理解为"容器"!
操作码:"我要干什么"
操作数(源操作数,目标操作数):操作的对象

image.png

将高位省略了!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 网站乱码问题我们会经常碰到,大多见于非英文的中文字符或其他字符乱码,而且,这类问题常常是因为编码方式问题,主要原因...
    波段顶底阅读 8,259评论 1 9
  • 十进制--->二进制 对于整数部分,用被除数反复除以2,除第一次外,每次除以2均取前一次商的整数部分作被除数并依次...
    张轻舟阅读 4,673评论 1 3
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 9,689评论 0 13
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,403评论 19 139
  • 函数的概念: 函数也叫做方法,是有名字的闭包。 函数的参数: 无参数 func sayHello(personNa...
    成功的失败者阅读 3,660评论 0 0