class StringTest{
public static void main(String[] args){
String s1 = "Hello,Word";
System.out.println(s1);
//char c1 = '' 编译不通过,字符型变量单引号内有且只有一个!
/
}
}
二进制和十进制之间的相互转换:
| 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 |
转换为十进制:2*3 + 2*2 + 2*1 = 14
最开头的一位是符号位:0代表正号,1是负号!
正数的 源码 反码 补码都一样,三码合一
负数:
举个例子:
| 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 |
第一位从0>>1,所以这是-14的源码。
除了符号位之外,各个位取反,得到-14的反码:
| 1 | 1 | 1 | 1 | 0 | 0 | 0 | 1 |
在反码的基础之上+1得到-14的补码:
| 1 | 1 | 1 | 1 | 0 | 0 | 1 | 0 |
注意:在计算机的底层无论正数和负数都以补码的方式来记录数字,无特殊说明,给定的都是补码!
**************************************************************************************************************
十进制转化为二进制:除2取余的逆(从下往上看)
13对应的二进制?
13
6 1
3 0
1 1
0 1
0 0 >>>> 从下往上看:1101
十进制和其他进制之间的转换,可以通过二进制作为中间转换,来完成。
二进制>>八进制:
三个一位,累计相加:
例子:
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 1 |
result:0351
二进制>>十六进制:
四个一位,累计相加:
例子:
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 1 |
result:0xE9
八进制>>二进制:每一位都拆成三位
0357:
7 >> 111
5 >> 101
3 >> 011
result:011101111
十六进制>>二进制:每一位都拆成四位
0x3AF:
F >> 1111
A >> 1010
3 >> 0011
result:001110101111



