Java - - - 二进制与十进制之间的运算

Java - - - 进制运算

在计算机底层采用0和1组成的二进制序列进行数据的描述;

二进制中的最高位用来代表符号位,符号位为0时表示非负数,符号位为1时表示负数

十进制(正)转为二进制

  • 方式一:除商取余法:将一个十进制的整数不断的除以2取余数,当商为0时停止,将得到的余数逆序排列即可得到该十进制数的二进制数;
  • 方式二:通过拆分的方式,将一个十进制的整数拆分为多个二进制权重的和,有该权重的位置为1,没有则为0;
    例如:十进制整数为7,可以拆分为:4+2+1,则二进制数为:111;

十进制(负)转为二进制

  1. 将十进制的绝对值转换为二进制。
  2. 按位取反
  3. 加一

例:-33转为二进制(8位)

  1. -33的绝对值转换为二进制:0010 0001
  2. 将 0010 0001按位取反得 :1101 1110
  3. 加一得:1101 1111
    结果:-33的二进制为 1101 1111

二进制(负)转换为十进制

该操作与负的十进制数转换为二进制操作相反,则为:

  1. 减一
  2. 按位取反
  3. 添加符号

你可能感兴趣的:(java)