java二进制

java二进制

好久没有使用过二进制进行数据传输,基本的知识已经忘了,先来回顾一下数学知识(参考:https://www.cnblogs.com/wkcn/p/7803147.html):

  1. 进制的表现形式  
      二进制: 由0和1两个数字组成。
      八进制: 由0-7数字组成,为了区分与其他进制的数字区别,开头都是以0开始。
      十进制: 都是以0-9这九个数字组成,不能以0开头。
      十六进制:由0-9和A-F组成。为了区分于其他数字的区别,开头都是以0x或0X开始。
  2. 进制之间的转换
      2.1 十进制转二进制:除以2,反向取余数,直到商为0。(Integer.toBinaryString(9))

      2.2 二进制转十进制:二进制的每一个数乘以2的n次方,n表示当前数所在的位置从0开始,每次递增1。然后得出来的每个数相加。
    在这里插入图片描述
      2.3 十进制转8进制:除以8,反向取余数,直到商为0。
    在这里插入图片描述
      2.4 八进制转十进制:每一个数乘以8的n次方,n表示当前数所在的位置从0开始,每次递增1。然后得出来的每个数相加。
    在这里插入图片描述
      2.5 十进制转十六进制:除以16,反向取余数,直到商为0。十六进制的特点:由0~9 a(10) b(11) c(12) d(13) e(14) f(15) 表示。

十六进制转十进制:每一个数乘以16的n次方,n表示当前数所在的位置从0开始,每次递增1。然后得出来的每个数相加。

2.6 计算机对有符号数(包括浮点数)的表示有三种方法:原码、反码和补码, 补码=反码+1。在 二进制里,是用 0 和 1 来表示正负的,最高位为符号位,最高位为 1 代表负数,最高位为 0 代表正数。
  以负数-5为例:
  >1.先将-5的绝对值转换成二进制,即为0000 0101;
  >2.然后求该二进制的反码,即为 1111 1010;
  >3.最后将反码加1,即为:1111 1011
由于在计算机中 只有一个字节才能存放ASCII编码,而 八位(8bit)是一个字节,所以此处-5绝对值的二进制本来是101,为了使其在计算机中有意义给它补5个0,即0000 0101;

在java中表示形式为
二进制 :二进制数前加:0b 例如:0b111 对应十进制的:7
八进制 :八进制数是以0开头的, 例如:031 对应十进制的:25
十六进制:十六进制数前加:0x 例如:0x1B 对应十进制的:27

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值