Java学习Day06

进制及进制转换

进制

进制,就是进位制,代表着某一位置上的运算是逢x进一位。二进制就是逢二进一,八进制就是逢八进一,十进制就很容易理解了

*现代计算机使用的是二进制,八进制,十进制,十六进制

*我们常用的就是二进制,十进制和十六进制

*十六进制是逢十六进一,但是我们的数字只有0-9,所以人们用ABCDEF来表示,比如45=2D

进制转换——十进制转换成二进制

*使用除积取余反序法

*就是将一个十进制不停地除以2并取余数,直到商为0时停止,然后将得到的余数反序就是这个十进制的二进制

eg:

示例

进制转换——二进制转换成十进制

*二进制每一位上代表的十进制的数值相加

eg:

示例

进制转换——十进制与其他进制

*十进制转其他进制

与十进制转二进制同理

除积取余反序法:转几进制就除以几,余数反序即可。

*其他进制转十进制

每一位上代表的十进制的数值相加

几进制就是几的某次方

进制转换——二进制与八进制、十六进制的相互转换

根据这个进制和二进制相差的倍数决定将二进制的多位合成一位。如二进制转八进制,就是将三个二进制当做一个八进制来算。

【因为二进制的三位的表述范围是0-7,八进制的一位的表述范围也是0-7】

二进制转八进制

100011(二进制)——>100=2、011=3——>43(八进制)

八进制转二进制

43(八进制)——>4=100、3=011【必须三位,最后添零补齐三位,反序后零在最前面】

二进制转十六进制

二进制的四位合成十六进制的一位

(二进制的四位的表述范围是0-15,十六进制的一位的表述范围是0-15)

(或者,2的三次方=8、2的四次方=16)

11100011(二进制)——>1110=14=E、0011=3——>E3(十六进制)

十六进制转二进制

E3(十六进制)——>E=14、3=3——>14=1110、3=11=0011——>11100011(二进制)

二进制的原码、反码和补码

*补码:

任何地方看得到的码都是补码。

对于正数来说,补码、原码相同,也就是说,正数可以直接拿看到的码进行进制转换。

对于负数来说,必须通过将补码求得反码,再求得原码,用原码去做进制转换。

*反码:

用于求原码或补码的中间码,

原码除符号位外,其他位按位取反获得反码。

补码-1获得反码。

反码+1获得补码。

*原码:

用来做进制转换的码。

eg:请问八位二进制10010010的数值是多少?

a.判断是正数还是负数

正数(补码即原码,直接进制转换)、负数(先补码转反码,再反码转原码)

八位二进制的最高位称为符号位(表示是正数还是负数)

【符号位是1->负数、符号位是0->正数】

b.负数求反码

补码-1=反码

补码10010010——>-1——>反码10010001

c.求原码

反码符号位不变,其他位按位取反。

反码10010001——>原码11101110

d.用原码进行进制转换

原码11101110=2+4+8+32+64=110

练习:-16的八位二进制(是求补码!直接进制转换求得的是原码!)

A.求原码

-16——>符号位是1——>15=_ _ _ _1 1 1 1 ——>15+1=16=10010000(原码)

B.求反码

原码符号位不变,其他位按位取反。

原码10010000——>反码11101111

C.求补码

反码+1=补码

反码11101111——>补码11110000

-16的八位二进制=11110000

存储单位

*计算机存储数据的单位:

*bit(位、比特)

*Byte(字节)1Byte=8bit

*KB(千字节)1KB=1024Byte

*MB(兆字节)1MB=1024KB

*GB(吉字节)1GB=1024MB

*TB(太字节)1TB=1024GB

*100Mbps=每秒100兆比特

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值