wap网站搜索,东莞网站设计的公司,深圳多区最新通知,网站网页建设与制作怎么做账常见的进制
常用的进制有二进制#xff0c;八进制#xff0c;十进制#xff0c;十六进制。而我们最熟悉的是十进制#xff0c;他们分别是怎么表达的呢#xff1f;
定义不同的进制#xff0c;写法不同
二进制#xff08;Binary#xff09;#xff1a; 使用前缀 0b 或…常见的进制
常用的进制有二进制八进制十进制十六进制。而我们最熟悉的是十进制他们分别是怎么表达的呢
定义不同的进制写法不同
二进制Binary 使用前缀 0b 或 0B。例如int binaryNumber 0b1010; 表示二进制的 1010等价于十进制的 10。十进制Decimal 十进制数是Java中的默认数制因此不需要前缀。例如int decimalNumber 10; 表示十进制的 10。八进制Octal 使用前缀 0。注意这里只使用一个 0 作为前缀与十六进制和二进制不同。例如int octalNumber 012; 表示八进制的 12等价于十进制的 10。十六进制Hexadecimal 使用前缀 0x 或 0X。例如int hexNumber 0xA; 表示十六进制的 A等价于十进制的 10。
public class Main {public static void main(String[] args) {// 代码中定义的进制无论如何在输出都是以十进制的方式输出// 二进制int binaryNumber 0b1010;System.out.println(二进制 0b1010 等于十进制 binaryNumber);// 十进制int decimalNumber 10;System.out.println(十进制 decimalNumber 等于十进制 decimalNumber); // 显然这里输出的是相同的数// 八进制int octalNumber 012;System.out.println(八进制 012 等于十进制 octalNumber);// 十六进制int hexNumber 0xA;System.out.println(十六进制 0xA 等于十进制 hexNumber);}
}
计算机底层存储
计算机存储数据在底层是以二进制进行存储。他们都是以数据的补码进行存储且最高位是符号位
正数 最高位是0负数最高位是1
规定
正数的补码反码与原码是一样的称为三码合一负数的补码和反码原码不一样 负数的原码 十进制转二进制且最高位为1负数的反码在原码的基础上最高位不变其余取反(0-1, 1-0)负数的补码 反码 1
有了以上规则让我们来看几个例子
byte b1 2;
byte b2 -2;
这两个十进制在计算机是怎么存储的呢
对于byte存储为1个字节8个bit,
b1 正数最高位为02转为二进制10原码 反码 补码 因此计算机存储2 就是按照以下存储 b2 为负数最高位是1 进制之间的转换
二进制转10进制
二进制转10进制除开最高位为符号位其他一次为 位数 * 2的n次方 十进制转二进制
做除法在取余数取反 其他进制之间的转换
八进制转二进制与二转十
将数字拆分为单个数字1个数字代表2进制的3位数; 十六转二和二转十六
将数字拆分为单个数字1个数字代表2进制的4位数字同上就不做案例了