java中的字节进制计算和(&)位运算符

1、什么是字节?

字节就是计算机最小的单位!

2、字节和二进制有什么关系?

1个字节就是1bit,1bit就是8位,那么二进制就是8位,类似于(0000 0000),在计算机里只认0和1

类型字节
double8
byte1
short2
int4
long8
float4

1个字节是8位、2个字节是16位、4个字节是32位。。。。以此类推!

但是在java中我们大部分都是用int、double、float、String等

我怎么知道int a = 1;二进制等于多少?这个时候就要计算啦。

1/2 在我们看来等于0.5,然而在计算机的二进制看来就是1/2余1,那么为啥会余1呢?因为计算机发现1小于2,然而1怎么能除于2呢,所以它就认为1/2商是0 ,余数是1

1/2 除不尽  余数为:1                                二进制:0000 0001     

2/2=1   1/2 除不尽  余数:1 余数为:0                                二进制:0000 0010   

3/2=1 余数:1     1/2 除不尽      余数:1                     二进制: 0000 0011

4/2 =2 余 : 0       2/2  =1   余:0     1/2 余:1                二进制:0000 0100

以此类推

记住这个是从后往前看

&运算符是怎么用的?

平常在java中不怎么用,老是突然忘,就记录一下!&运算符是所有为真才为真,只要有一个为假就是假的,而&是位运算,只能用于位运算,是否纳闷啥是位运算?

上面那个(0000 0001)这个就是位,也就是二进制运算

10进制就是我们平常用的,我们写的东西基本上都是10进制的,10位进一位

3&2等于多少?

那我们来计算一下:

十进制代表3:    0000 0011

十进制代表2:    0000 0010

怎么比呢  上下比:

0&0=0 

0&0=0

0&0=0

0&0=0

0&0=0

0&0=0

1&1=1

1&0=0

也就是说3&2=00000010

00000010的十进制是多少呢?  上面我们看到了是2,

如果还看不明白,我们就看一个示例图:

正整数的十进制转换二进制

将一个十进制数除以二,得到的商再除以二,依此类推直到商等于一或零时为止,倒取除得的余数,即换算为二进制数的结果。只需记住要点:除二取余,倒序排列。

由于计算机内部表示数的字节单位都是定长的,以2的幂次展开,或者8位,或者16位,或者32位....。于是,一个二进制数用计算机表示时,位数不足2的幂次时,高位上要补足若干个0。本文都以8位为例。

负整数转换成二进制

        方法:先是将对应的正整数转换成二进制后,对二进制取反,然后对结果再加一。还以42为例,负整数就是-42,如图4所示为方法解释。最后即为:(-42)10=(11010110)2.

            二进制如何转十进制,十进制如何转二进制

小数转换为二进制的方法:对小数点以后的数乘以2,有一个结果吧,取结果的整数部分(不是1就是0喽),然后再用小数部分再乘以2,再取结果的整数部分……以此类推,直到小数部分为0或者位数已经够了就OK了。然后把取的整数部分按先后次序排列就OK了,就构成了二进制小数部分的序列,举个例子吧,比如0.125,如图5所示。

            二进制如何转十进制,十进制如何转二进制

如果小数的整数部分有大于0的整数时该如何转换呢?如以上整数转换成二进制,小数转换成二进制,然后加在一起就OK了,如图6所示。

二进制如何转十进制,十进制如何转二进制

转换16进制就跟2进制一样,不过就是除于16

那么怎么转换呢?

二进制转换为十进制

二进制转十进制的转换原理:从二进制的右边第一个数开始,每一个乘以2的n次方,n从0开始,每次递增1。然后得出来的每个数相加即是十进制数。

参考自:https://www.cnblogs.com/xiao-lei/p/10961068.html

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值