计算机基础——二进制、八进制、十六进制以及相互转换

目录

一、二进制

1.1 二进制转换为十进制

1.2 十进制转换为二进制

1.3 原码、反码、补码

二、八进制

2.1  八进制转十进制

2.2  十进制转八进制

三、十六进制

3.1 十六进制转十进制

3.2 十进制转十六进制

四、二进制、八进制、十六进制相互转换

4.1 二进制转八进制

4.2 二进制转十六进制

4.3 八进制转换为二进制

4.4 十六进制转换为二进制


一、二进制

二进制数据用0和1两个数码来表示数。   在java中以0b或0B开头

int num1= 0b110;

基数为2,进位规则为"逢二进一",借位规则是"借一当二"。

当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储。

计算机中的二进制则是一个非常微小的开关,用"开"来表示1,“关”来表示0

1.1 二进制转换为十进制

10100 这是一个二进制的数字

这个地方画图画错了

1×2^4   0×2^3    1×2^2   0×2^1  0×2^0 最后相加是20

1.2 十进制转换为二进制

将 10100 转换为十进制

1.3 原码、反码、补码

最高位为0,即正数,最高位为1,即负数

  • java整数常量默认是int类型当用二进制定义整数时,其32位是符号位
  • 当为long类型时,二进制默认占64位,第64位是符号位

二进制的整数有如下三种形式:

  •  原码: 直接将一个数值转换成二进制数,最高位是符号位
  •  负数的反码: 是对原码安位取反,只是最高位(符号位)确定为1
  •  负数的补码:其反码+1

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

      正数的原码、反码、补码都相同,负数的补码是其反码+1

        由-14的补码怎么得到-14的原码?   将上面的箭头倒过来看就行了,先-1,然后除符号位外哥哥位取反

   下面有一个例子:知道补码推原码,以后如果告诉我们一个二进制数,我们就认为是补码

二、八进制

 0-7 ,满8进1,java中以数字0开头表示

 int num3=0127;

2.1  八进制转十进制

2.2  十进制转八进制

三、十六进制

   以0x或0X开头表示

  int num4 = 0x110A;

 

  •    十六进制是计算机数据的一种表示方法。同我们日常生活中的表示法不一样。
  •    它由 0-9,A-F组成,字母不区分大小写。  之前在ps软件中见到的颜色如#ffffff 就是十六进制
  •    与10进制的对应关系是:

               0-9 对应 0-9 , A-F对应10-15 ; N进制的数可以用0~(N-1)的数表示,超过9的用字母字母A-F

   1-1     2-2    3-3    4-4    5-5    6-6    7-7    8-8    9-9    10-A    11-B    12-C    13-D             14-E    15-F    

3.1 十六进制转十进制

将110A转换成十进制 

3.2 十进制转十六进制

四、二进制、八进制、十六进制相互转换

4.1 二进制转八进制

4.2 二进制转十六进制

4.3 八进制转换为二进制

4.4 十六进制转换为二进制

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
1. 二进制转十进制:将二进制数从右往左每一位对应的权值分别为1、2、4、8、16、32……,将每一位的权值与该位的数值相乘,然后将所有乘积相加即得到对应的十进制数。 例如,二进制数1011转换为十进制数的计算过程为:1×2³ + 0×2² + 1×2¹ + 1×2⁰ = 8 + 0 + 2 + 1 = 11。 2. 十进制转二进制:使用“除2取余”的方法,将十进制数不断除以2,将每次得到的余数倒序排列即为对应的二进制数。 例如,将十进制数27转换二进制数的计算过程为:27 ÷ 2 = 13 余 1,13 ÷ 2 = 6 余 1,6 ÷ 2 = 3 余 0,3 ÷ 2 = 1 余 1,1 ÷ 2 = 0 余 1。将余数倒序排列,得到的二进制数为11011。 3. 二进制八进制:将二进制数从右往左每三位分组,对每组二进制数分别赋予权值1、2、4,将每组二进制数的权值与数值相乘,然后将所有的乘积相加即得到对应的八进制数。 例如,二进制数1101101转换八进制数的计算过程为:001 101 101,分别对应的权值为1、2、4,因此,得到的八进制数为155。 4. 八进制二进制:将八进制数的每一位转换为三位二进制数,然后将这些二进制数连接起来即可得到对应的二进制数。 例如,将八进制数155转换二进制数的计算过程为:1对应的二进制数为001,5对应的二进制数为101,5对应的二进制数也为101,因此,得到的二进制数为1101101。 5. 二进制十六进制:将二进制数从右往左每四位分组,对每组二进制数分别赋予权值1、2、4、8,将每组二进制数的权值与数值相乘,然后将所有的乘积相加即得到对应的十六进制数。 例如,二进制数1101101转换十六进制数的计算过程为:0110 1101,分别对应的权值为1、2、4、8和1、16,因此,得到的十六进制数为6D。 6. 十六进制二进制:将十六进制数的每一位转换为四位二进制数,然后将这些二进制数连接起来即可得到对应的二进制数。 例如,将十六进制数6D转换二进制数的计算过程为:6对应的二进制数为0110,D对应的二进制数为1101,因此,得到的二进制数为01101101。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

我爱布朗熊

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

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

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

打赏作者

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

抵扣说明:

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

余额充值