关于进制的简单介绍

发布于:2023-01-04 ⋅ 阅读:(341) ⋅ 点赞:(0)

进制介绍

进制:指进位制,是人们规定的一种进位方式表示某一位置上的数,运算时是逢X进一位。 十进制是逢十进一,二进制是逢二进一,八进制是逢八进一

常见进制:二进制,八进制,十进制,十六进制

原因:计算机数据在底层运算的时候,都是以二进制形式,也有数据是以八进制、十进制、或十六进制进行储存或运算,了解不同的进制,便于我们对数据的运算过程理解的更加深刻。

十进制 运算规则:逢十进一,借一当十。

二进制 介绍:二进制数据是用0和1两个数码来表示。例如:0101000 进位规则是:逢十进一,借一当二。

八进制介绍:采用0、1、2、3、4、5、6、7八个数字,逢八进一 十六进制介绍:用数字0到9和字母A到F(或a~f)表示,其中:A~F表示10~15,这些称作十六进制。

不同进制的书写格式 十进制:Java中,数值默认都是10进制,不需要加任何修饰。 二进制:数值前面以0b开头,b大小都可以。 八进制:数值前面以0开头。 十六进制:数值前面以0X开头,x大小写都可以。 注意:以上内容是jdk7版本之后才被支持。

进制转换

任意进制到十进制的转换

公式:系数基数的权次幂相加 系数:每一【位】上的数 基数:几进制,就是几 权:从数值的右侧,以0开始,逐个+1增加 例如:0b100 拆解:0b为二进制标识 系数:1 0 0 基数:2(因为当前数值是二进制) 权:从右侧开始,以0为编号,逐个加1 套入公式:系数基数的权次幂相加 0 --- 0 02^0=0 0 --- 1 02^1=0 0 --- 2 0*2^2=4 结果:0+0+4=4

十进制到二进制的转换 公式:除基取余 使用源数据,不断的除以基数(几进制,基数就是几)得到余数,直到商为0,再将余数倒着拼接起来即可。 需求:将十进制数字11,转换为2进制。 实现方式:源数据为11,使用11不断的除以基数,也就是2,直到商为0.

快速进制转换法

8421码: 8421码又称BCD码,是BCD代码中最常用的一中 BCD:(Binary-Coded Decimal)二进制码十进制数 在这种编码方式中,每一位二进制值的1都是代表一个固定数值,把每一位的1代表的十进制数加起来 得到的结果就是它所代表的十进制数。

二进制快速转十进制

 

公式:系数*基数的权次幂相加

 

可将2进制数值直接套入其中,0所对应的值不取,1对应的值取出并相加

例如:二进制0b1101

1 --->8

1 --->4

0 不取

1--->1

相加:8+4+1=13 二进制0b1101,转10进制后,结果为13

二进制快速转八进制

八进制:将三个二进制位看为一组,再进行转换

原因:八进制逢八进一,三个二进制位最多可以表示111,也就是数值7,如果出现第四位,就超范围了

需求:将60的二进制0b111100转换为八进制

 

二进制快速转换十六进制

十六进制:将四个二进制位看为一组,再进行转换

原因:十六进制逢十六进一,四个二进制位最多可以表示1111,也就是数值15,如果出现第五位,就超范围了

需求:将60的二进制0b111100转换为十六进制

 

原码反码补码

介绍:计算机中的数据,都是以二进制补码的形式在运算,而补码则是通过反码和原码推算出来的。

原码(可直观看出数据大小)(看数据)

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

通过一个字节表示+7和-7,代码:byte b1=7;byte b2 = -7;

一个字节等于8个比特位,也就是8个二进制位

0(符号位) 0000111

0(符号位) 0000111

反码(转数据)

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

补码 (数据以该状态进行运算)(运算数据)

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

位运算

位运算符介绍

1、位运算符指的是二进制位的运算,先将十进制数转换成二进制后再进行运算。

2、在二进制位运算中,1表示true,0表示false。

&位与 :遇false则false,遇0则0

|位或 :遇true则true,遇1则1

^位异或 : 相同为false,不同为true

~ 取反:全部取反,0变1,1变0 (包括符号位)

<< 有符号左移运算,二进制位向左移动,左边符号位丢弃,右边补齐0

运算规律:向左移动几位,就乘以2的几次幂

>> 有符号右移运算,二进制位向右移动,使用符号位进行补位

运算规律:向右移动几位,就是除以2的几次幂

>>>无符号右移运算符,无论符号位是0还是1,都补0

运算符的特点

一个数,被另外一个数,异或两次,该数本身不变

以上就是我的分享,有什么不对的地方,欢迎在评论区中指出,我定会虚心修改!

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到