1、进制与数据存储

#二进制: 0  1  逢二进一
0 + 0 = 0
0 + 1 = 1
1 + 1 = 10  #腰零,不是十
11 + 1 = 100

#八进制  0 1 2 3 4 5 6 7
1 + 7 = 10
1 + 2 = 3

#十六进制 0 1 2 。。。8 9 a b c d e f
1 + f =10

#内存地址是用十六进制数表示的

1、十进制转二进制
用短除
e.g.  10(10)-> 1010(2)

2、二进制转十进制
当前数字乘以2的位数次方,最后相加 #程序员是从0开始数的
e.g.  1010(2)-> 10 (10)

3、八进制转二进制
八进制的一位相当于二进制的三位,转换时按十进制来
e.g. 65 可以转出六位二进制  把6和5分别当十进制数进行转换  得 110 101
#8421法,看8421中哪几个相加是这个数,他们下边就是1其他的是0,省略最高位的0

4、十六进制转二进制
十六进制的一位相当于二进制的四位,转换时按十进制来
e.g. a4 -> 10100100

#数据存储
计算机存储数据先开辟内存空间,再存储,开辟内存空间的最小单位是字节 8位。
在存储数据时,32位电脑会凑够32位 4个字节 用最高位标识符号 1为负0为正
1010(2) 中有四个‘开关’ 一个字节
00000000000000000000000000001010

#原码---规定了字节数,写明了符号位
00000000000000000000000000000001    #正1

#反码---正数的反码是其原码,负数反码是其原码符号位不动其他位取反(0变成1,1变成0)

#补码---正数的补码是其原码,负数的补码是其反码加1
11111111111111111111111111111111    #负一的补码

#补码变原码
11111111111111111111111111111111    #把它看做负数的原码求其补码

10000000000000000000000000000000    #先变成反码
10000000000000000000000000000001    #再加一


#计算机以补码的形式存储数据

5、位运算-----把数按二进制来运算

    & | ! ^(异或) ~(按位取反)

6、#<<  左移运算符----各二进制位全部左移<<右侧数字的位数,高位丢弃,低位补0
print(2<<2)
00000000010
00000001000

   #>>   右移






















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值