2、二进制

IC是集成电路的简称,集成引脚电路只有0和5V

使用二进制可以更好的控制电脑里面的电路

位:位(bit,缩写为b)是存储器的最小单位,可以表示一位二进制数.

字节:1字节(Byte,缩写为B)由8个位组成,即1Byte=8bit,是存储器的基本单位

32位=32bit=4*8bit=4Byte=4字节

01011100=0*2的7次方+1*2的6次方+0*2的5次方+1*2的4次方+1*2的3次方+1*2的2次方+0*2+0=92

二进制和十进制之间转换

十进制转二进制:

例 :52       

2、二进制_第1张图片
最上面为最后一位,故52=00110100

-52=-(00110100)+1=11001011+1=11001100

二进制加法:逢二进一

二进制减法:1101-0011=1101+(-0011)

二进制如何表示负数?

规定一个长度,拿首位表示符号,0代表正数,1代表负数

正负数转换:正数取反+1为负数(称为补数),例:0001=1,-1=1110+1=1111,规定长度,如规定4位长度,运行加法:1+(-1)=0001+1111=10000,超出规定长度的不要,即0000=0

二进制乘法(二进制的左移):

每左移几位就等于乘以2的几次方,如向左移两位等于2*2=乘以4,例0001左移两位是0100,就是1*4=4

二进制除法(二进制的右移):

右移分为逻辑右移和算术右移,逻辑右移就是前面补0,算术右移就是根据首位决定补0还是补1,逻辑右移只能做正数方面的除,而不能做算术右移的除

逻辑右移的存在意义,二进制并不单单表示数值,逻辑右移表示的是整个数据的右移,比如跑马灯的移动

当二进制数是正数的话,每右移几位就等于除以2的几次方,前方补位为0,例,0100右移两位就是0001,就是4/4=1,当二进制数是负数时,前方补位为1,例,11000000右移两位就是11110000,就是-64/4=-16

电脑只会加法,溢出,两个二进制的数字相加,溢出的不要,比如1+(-1)=10000,规定的四位,前面的1就是溢出位,不要,就是0000=0了

在计算机中要确定一个数首先要确定长度,然后确定数值为全正数还是有负数,如有负数的话,则负数首位必然是1,之后存储的数值以补码的形式来存储的,长度决定数值范围

逻辑非是指0变1,1变0,逻辑与是and(&),真假为假,假假为假,真真才为真,逻辑或(or)真假为真,假假为假,真真为真,逻辑异或为真假为真,假真为真,真真为假,假假为假

二进制表示浮点


2、二进制_第2张图片
此图0.625错误,应为0.0625

小数点后面分别为0*2的-1次,0*2的-2次,1*2的-3次,1*2的-4次

float和double都是浮点数,由于浮点数后面无穷无尽,比如0.9=0.11100.......等等,所以会造成误差,这就是浮点数会出错的原因

计算机当中是不能以小数点方式存储小数的,因为它没有小数点位以IEEE编码存储数值

浮点数只要记住一件事情,当一个浮点数0.1*100不等于100该怎么处理,计算机的浮点数是不可能准确的,只有部分准确,想要安全的运算,我们就不拿小数运算(即运算时将其转换成整数,输出时再转换回来,如下图1),以上方法是比较极端的方法,另一种方法就是取小数点后多少个精度


图1


二进制转十进制:
00110100=0*2的7次方+0*2的6次方+1*2的5次方+1*2的4次方+0*2的3次方+1*2的平方+0*2+0


2、二进制_第3张图片

八进制默认在数字前面加个0,十六进制默认在前面加0x

2、二进制_第4张图片
默认标准

二进制可以转换成16进制换算,如下图转换成16进制为E1838,即E*16的4次方+1*16的三次方+8*16的平方+3*16+8

你可能感兴趣的:(2、二进制)