美文网首页
2、二进制

2、二进制

作者: 无力吐槽果 | 来源:发表于2016-10-16 19:58 被阅读0次

    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       

    最上面为最后一位,故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)真假为真,假假为假,真真为真,逻辑异或为真假为真,假真为真,真真为假,假假为假

    二进制表示浮点

    此图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

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

    默认标准

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

    相关文章

      网友评论

          本文标题:2、二进制

          本文链接:https://www.haomeiwen.com/subject/syfoyttx.html