进制与数据宽度,逻辑运算
1.进制中的符号理解
<1>可以由任意符号组成,不同符号可以制作不同的数字表,就会有不同的运算结构
<2>例如以下符号组成的进制,制作的数字表就与传统的数字表不同,4为最大的数字所以需要进位低位就是3高位就变为8
<3>以下进制做加法也会有不同的结果,例如:8+2 = 4;因为从0开始数,2是数字表第二个数,8向后数两位是4,所以结果为4
2.数据宽度
<1>数学上的数字,是没有大小限制的,可以无限的大。但在计算机中,由于受硬件的制约,数据都是有长度限制的(称为数据宽度);超过最多宽度的数据会被丢弃。
<2>4位宽度表示:假设计算机只能存储4位2进制数等于1位十六进制数;计算机中没有有符号与无符号的区分,有无符号是人为定义的;4位的宽度最大是F,F再加1就变成10
但是4位二进制只能保存一位16进制,所以1就是丢弃了变为0;正好组成了一个圆,有符号中正数与负数正好是园的中心切两半0-7为正数,8-F为负数;最大的负数为:F
最小的负数为:8;如果转成二进制可以发现最高为1为负数,最高位为0为正数,这些都是人为设定的,计算机无法识别
<3>如果位数增加,宽度扩大,原理一样;例如:8,16,32位二进制
<4>计算机中常见的宽度
BYTE 字节 8位
WORD 字 16位 2字节
DWORD 双字 32位 4字节
3.逻辑运算
<1>计算机是电子产品,电信号只有两种,所以计算机只能识别二进制
<2>计算机中的逻辑运算
<3>CPU是如何计算2+3=?
<4>与(and)运算的运用;获取二进制某一位的值,某位置0
<5>异或(xor)运算的运用;加密,清0,1 xor 1 = 0;0 xor 1 = 1;由此可以得出一个数异或同一个数两次 得到其本身,可以做加密
0 xor 0 = 0;1 xor 1 = 0;由此得出一个数异或它本身结果为0,可以做的清0的作用
<6>八进制数2-5 在计算器中的的结果是:1777777777777777777775 为什么?
2-5 = -3 = FFFFFFFD = 1777777777777777777775 ;结论计算机没有正负之分
<7>2 - 3 = ?的cpu的运算原理,需要先转为加法运算 ,计算机只会做加法,其他运算也需要转换为加法
|