Java语言基础-进制及原码补码反码

    • 进制概述

进制也就是进位制,是人们规定的一种进位方法。 对于任何一种进制---X进制,就表示某一位置上的数运算时是逢X进一位。 十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。

 

来自 <https://baike.baidu.com/item/%E8%BF%9B%E5%88%B6/317457?fr=aladdin>

  1. 二进制

Java语言基础-进制及原码补码反码_第1张图片

8个这样的信号来表示一个数据,这个数据的单位叫做:字节

通过数字1,0来表示开关,这样由1,0组成的数据就是二进制数据

 

二进制数有两个特点:它由两个基本数字0,1组成,二进制数运算规律是逢二进一。

为区别于其它进制数,二进制数的书写通常在数的右下方注上基数2,或加后面加B表示。

例如:二进制数10110011可以写成(10110011)2,或写成10110011B

 

来自 <https://baike.baidu.com/item/%E8%BF%9B%E5%88%B6/317457?fr=aladdin>

 

  1. 八进制

把二进制的数据,从右开始,每三位一组合,最左边不够的时候,补0。然后分别计算出对应的十进制数值,最后,再把每个十进制数据组合起来,就是一个八进制数据。

Java语言基础-进制及原码补码反码_第2张图片

  1. 十进制

人们通常使用的是十进制。它的特点有两个:有0,1,2….9十个基本数字组成,十进制数运算是按“逢十进一”的规则进行的.

 

来自 <https://baike.baidu.com/item/%E8%BF%9B%E5%88%B6/317457?fr=aladdin>

 

 

  1. 十六进制

把二进制的数据从右开始,每四位一组合,最左边不够的时候补0.然后分别进算出对应的的十进制数值,最后,再把每个十进制数据组合起来,就是一个十六进制数据。

Java语言基础-进制及原码补码反码_第3张图片

  • 不同进制的数据组成(常量)

二进制

0,1组成,以0b开头

八进制

0,17组成,以0开头

十进制

0,1…9组成,整数默认是十进制

十六进制

0,1…9,a,b,c,d,e,f(大小均可)组成,以0x开头

  • 进制转换
    1. 其他进制到十进制的转换

 

Java语言基础-进制及原码补码反码_第4张图片

 Java语言基础-进制及原码补码反码_第5张图片

  1. 十进制到其他进制的转换

Java语言基础-进制及原码补码反码_第6张图片

 

  1. 快速进制转换

Java语言基础-进制及原码补码反码_第7张图片

 

  • 有符号数据表示法

在计算机内,有符号数由3种表示法:原码、反码和补码。所有的数据的运算都是采用补码进行的。

  • 原码

就是二进制定点表示法,即最高位为符号位,”0“表示正,”1“表示负,其余位表示数值大小。

  • 反码

正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。

  • 补码

正数的补码与其原码相同;负数的补码是在其反码的末位+1

 

eg:

+7-7的原码、反码、补码表示

Java语言基础-进制及原码补码反码_第8张图片

 Java语言基础-进制及原码补码反码_第9张图片

Java语言基础-进制及原码补码反码_第10张图片

 


 

你可能感兴趣的:(Java语言基础-进制及原码补码反码)