Java 快速入门 知识精简(2)基础知识-进制

进制

1)进制是一种计数方式,它定义了我们如何表示和计算数字

2)当数位上的值达到最大值时,该位就“满位”,需要向高位进1

2)生活中常用的计数方式是十进制(满9进1)

进制

进制进制数计数方式    
二进制0,1,10,11,100,101,110,111满2进1
三进制0,1,2,10,11,12,20,21,22,100满3进1
四进制0,1,2,3,10,11,12,13,20,21满4进1
五进制0,1,2,3,4,10,11,12,13,14,20满5进1

六进制

0,1,2,3,4,5,10,11,12,13,14,15,20满6进1
七进制0,1,2,3,4,5,6,10,11,12满7进1
八进制0,1,2,3,4,5,6,7,10,11,12满8进1
九进制0,1,2,3,4,5,6,7,8,10,11,12满9进1
十进制0,1,2,3,4,5,6,7,8,9,10,11,12满10进1
十一进制0,1,2,3,4,5,6,7,8,9,A,10,11,12满11进1
十二进制0,1,2,3,4,5,6,7,8,9,A,B,10,11,12满12进1
............ ............
十六进制0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,10,11,12满16进1
............ ............

对于整数,一般有四种表示方式:

进制英文数值计数方式表示方式
二进制binary0,1 满2进1以0b或0B开头
八进制octal 0,1,2,3,4,5,6,7满8进1以数字0开头
十进制  decimal0,1,2,3,4,5,6,7,8,9满10进1
十六进制hex0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F满16进1以0x或0X开头

说明

整形常量中最高位是符号位,0表示正数,1表示负数

示例

1)二进制数 0111 1111 = 十进制数 127

2)二进制数 1000 0000 = 十进制数 -128

二进制的整数的三种形式:

原码:直接将一个数值转换成二进制数。最高位是符号位

负数的反码:对原码按位取反,最高位(符号位)定为1

负数的补码:反码加1。

正数的原码、反码、补码都相同

示例(1)正数

原码14: 0000 1110

反码14: 0000 1110

补码14: 0000 1110

示例(2)负数

原码-14:1000 1110

反码-14:1111 0001

补码-14:1111 0010

说明

计算机中以二进制补码的形式保存所有的整数

进制的转换:

十进制 >> 二进制:除2取余的

例如:整数(13)

13除2 = 6余   1

  6除2 = 3余   0

  3除2 = 1余   1

  1余2 = 0余   1

所以十进制数13等于二进制数1101

二进制 >> 十进制:个位乘以2的0次方,十位乘以2的1次方,百位乘以2的2次方,以此类推

例如:二进制 0000 1110 1001

十进制 2⁷+2⁶+2⁵++2⁰ = 128+64+32+8+1 = 233

二进制 >> 八进制: 111 = 7  个位乘以2的0次方,十位乘以2的1次方,百位乘以2的2次方

例如:二进制0000 1110 1001

八进制0351

二进制>>十六进制:1111 = F

例如:二进制0000 1110 1001

十六进制0XE9

负数的计算:

正数的补码就是它自己

负数的补码是它的相反数全部取反再加1

示例

0011 0110 这是一个byte型整数. 是多少?

0x36 => 54

所以0011 0110是+54这个数据的真实存储.

示例

1100 1010 这是一个byte型整数, 是多少?

是一个负数, 负多少???? 需要减一再找到相反数

1)减一 => 1100 1001

2)取反 => 0011 0110 => 0x36 => 54

3)所以1100 1010是 -54

示例(1)

1111 1111 是负数

1)减一 => 1111 1110

2)取反 => 0000 0001 => 1

3)所以 1111 1111是 -1

示例(2)

1000 0000 是负数

1)减一 => 0111 1111

2)取反 => 1000 0000 => 0x80 => 128

3)所以1000 0000是 -128

说明

byte型最大值 

0111 1111 => 0x7F => 16*7+15 = 127

short型最大值

0111 1111 1111 1111 => 0x7FFF

short型最小值

1000 0000 0000 0000 => 0x8000

int型最大

0111 1111 1111 1111 1111 1111 1111 1111 => 0x7FFFFFFF

int型最小

1000 0000 0000 0000 0000 0000 0000 0000 => 0x80000000

long型最大

0x7FFFFFFF_FFFFFFFF

long型最小

0x80000000_00000000

  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tangy范

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值