黑马程序员技术交流社区

标题: 计算机进制知识_汇总 [打印本页]

作者: Lingxin    时间: 2016-3-23 23:34
标题: 计算机进制知识_汇总
进制
        (1)是一种进位的方式。X进制,表示逢x进1。
        (2)Java中整数常量的表示
                1:二进制 由0 , 1组成。以0b开头。JDK7以后的新特性。
                2:八进制 由0-7组成。以0开头。
                3:十进制 由0-9组成。默认就是十进制。
                4:十六进制 由0-9,A-F(不区分大小写)组成,以0x开头。

        (3)计算机存储数据时用高低电平(高低位)来存储的 也就是 二进制的 1 和 0
                1个就二进制数据被称为位 (bit)
                1byte = 8 bit;
                1Kb = 1024byte;
                1Mb = 1024Kb;
                1Gb = 1024Mb;
                1Tb = 1024Gb;
        (4)进制转换:
                1):其他进制到十进制
                        系数:就是每一位上的数据。
                        基数:X进制,基数就是X。
                        权:在右边,从0开始编号,对应位上的编号即为该位的权。
                        结果:把系数*基数的权次幂相加即可。
                       
                        二进制:1011
                                十进制:
                        八进制:74
                                十进制:
                        十六进制:a3
                                十进制:

                2):十进制到其他进制
                        除基取余,直到商为0,余数反转。

                        十进制:60
                        结果:
                                二进制
                                八进制
                                十六进制

                3):快速转换
                        1:8421码。
                                1        1        1        1        1        1        1        1
                                ----------------------------------------------------------
                                128        64        32        16        8        4        2        1

                                对照上面的8421码表:
                                        33的二进制 00100001
                                        00101010的十进制 42

                        2:二进制--八进制(3位组合)
                               
                                1001110

                                 八进制        001        001        110
                                        ————        ————        ————
                                         |         |         |
                                         ——————————————————
                                                 |
                                                 116
                                               
                        3:二进制--十六进制(4位组合)
                               
                                1001110
                               
                                十六进制 0100        1110
                                         ————        ————
                                           |          |
                                           ————————
                                               |
                                               4e
                4):有符号数据的表示
                        由于数据时存在正数负数之分的
                        原码:就是有符号数据人类能看起来方便的一组二进制表示形式,最高位是符号位,0表示正,1表示负,
                                其他位表示数据位
                        反码:正数的反码和原码一样,负数的反码是符号位不变 数据位取反 0变1 1变0
                        补码:正数的补码和原码一样,负数的补码是反码加1
                        举例:                7                -7
                           原码:        00000111        10000111
                           反码:        00000111        11111000
                           补码:        00000111        11111001
                       
                        计算机在做预算的时候(比如 1-1=0),如果按我们人类的思维来说的话
                        我们就会想到
                                00000001   
                             -        00000001
                             ————————————
                                00000000
                        这样原码相减的话就得到了0,但是物理学电学上是没有相减的概念的,只能是不同的
                        电信号相叠加才产生新的电信号,因为这样 所以计算机存储的全是数据的补码
                        两个补码相加 就得到了0
                                00000001
                             +  11111111
                             ————————————
                                00000000




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2