Java基础篇之一----初始二进制

初始Java

这里我们不描述Java历史,直接二进制

二进制,十进制

  1. 二进制数字又被叫做机器数,是由1和0组成的数字。
  2. 十进制数字就是平时我们看到数字比如1、2、3、4等数字叫做十进制数字

二进制和十进制的相互转换

  1. 将二进制数字的每一位乘以2的n-1次方,这里的n表示该位在二进制数字中的排序(倒序),计算出的数字进行累加得出的数字就是十进制数字。例如:1101,1*2^0=1,0*2^1=0,1*2^2=4,1*2^3=8,累加1+0+4+8=13。
  2. 十进制数字不断的对2求商,一直求到最后,得出的数字就是二进制数字。例如16,16/2=8,余数0,8/2=4,余数0,4/2=2,余数0,2/2=1,余数0,最后1是余数,得出的二进制数字10000。

那么十进制负数的二进制怎么计算?要实现二进制计算需要学会原码、反码、补码的概念。

bit和byte的概念

bit(比特)和byte(字节)都是计算机中数据的计量单位,其中bit是最小的数据计量单位,1比特的值只能是一个二进制的“1”或“0”,byte是比bit更大的数据计量单位,1byte(一个字节)=8bit(8个比特位)。

一般电脑系统是64位或32位(还有128位),这里的64和32表示什么呢?64表示计算机可以在同一时间计算64个比特位的数据。

原码

对于一个正数,它的原码就是它对应的二进制数字。

对于一个负数,按照绝对值大小转换成的二进制数,然后最高位补1,就是负数的原码。

例如:求12的原码

12/2=6,余数0,6/2=3,余数0,3/2,余数1,最后1是余数,二进制数:1100,原码:00001100,

例如:求-12的原码,依据12的原码,-12的原码:10001100。

反码

对于一个正数:反码与原码相同(乌龟的腚----规定)。

对于一个负数:反码是对该数的原码除符号位外各位取反(1-->0,0-->1)。

符号位:符号位就是在二进制中用来表示一个数字的正或负,是最高位(最左边的一位),1表示负数,0表示正数。

例如:12的反码,12的原码:00001100,反码:00001100。

例如:-12的反码,-12的原码:10001100,反码:11110011

补码

对于一个正数:补码与原码相同(乌龟的腚----规定)。

对于一个负数:补码为对该数的原码除符号位外各位取反,然后在最后一位加1(简单的说负数的补码就是其反码+1).

例如:12的反码,12的原码:00001100,补码:00001100。

例如:-12的反码,-12的原码:10001100,反码:11110011,补码:11110011+1,逢二进一,补码:11110100。

二进制的加法是逢二进一。

负数的二进制就是以补码的形式在计算机中存储的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ZQC-JXT

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

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

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

打赏作者

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

抵扣说明:

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

余额充值