整形数据在内存中的存储

前言:

          在计算机底层,只能识别1和0,但是如果只用0和1来写代码,会发现非常不方便,所以就诞生出的像int ,char ,long ,short等一系列的整形数据,来减少工作量,提高写代码效率,但是其在内存中的存储依然是0和1。


一、进制

        2进制:  0~1 (逢二进一,这里要知道二进制只有0~1,如果出现了2说明不是用的二进制计数,以下同理)

        8进制:  0~7

        10进制:0~9

        16进制:0~9 a b c d e f

进制之间可以相互转化

十进制:10        二进制:00000000 00000000 00000000 00001010

这里 10 等于 2^3+2^1 ,就在二进制的2^3位置和2^1的位置上进1。

这里会发现在二进制序列最左边的1是一个数能分出的最大的2的n次方

比如一个数 62:00000000 00000000 00000000 00111110 最右边的就是2^5

1*2^5 + 1*2^4 + 1*2^3 + 1*2^2 + 1*2^1= 32 + 16 + 8 + 2 = 62 (1可以省略)

计算方法:

        十进制:123    转换   二进制:111011

商为0后,余数从下往上排列 (这里最后一步省略了除2商0)

        二进制: 1111 1111 1111 1111 1111 1111 1111 1111       转换

        十六进制:F      F      F      F      F      F      F      F        =0xFFFFFFFF

一个十六进制最大为F就是15,15转换二进制数为 1111,这里可以知道,一个十六进制数的二进制最大为1111。

这里四个二进制数的位数是固定的。2^3+2^2+2^1+2^0,每位的值称之为权值,4位二进制数的权值就是为8、4、2、1。即,最高位权值为2^3 = 8,然后依次是 2^2 = 4,2^1=2, 2^0 = 1。

由此就这里已知二进制数,可以快速算出。(其他进制的计算方法同理,只是权值不同)

仅四位的二进制数

快速计算方法

十进制值

十六进制值

1111

8+4+2+1

15

F

1110

8+4+2+0

14

E

1101

8+4+0+1

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值