二进制
来源:互联网 发布:王者荣耀数据封神榜67 编辑:程序博客网 时间:2024/06/04 19:39
public class TestBinarysystem {/** * 二进制基础: * 计算机中一切数据都是二进制的,基本类型(对象,音频,视频) * 十进制是人类习惯,计算按照人类习惯利用算法输入输出 * "10"->算法转化->1010(2)->算法->"10" * 16进制是二进制的简写,十六进制就是二进制!为了解决符号问题(计算机硬件不支持正负号,使用补码算法!) * 十六进制 * 逢十六进一,基数:16 * 数字:0123456789abcdef * 权:256 16 1 * 权:比如十进制的1511。由于十进制的维权是10,所以这个数=1*1000(10的三次方)+5*100(10的二次方)+1*10(10的一次方)+1*0(10的零次方) * 十进制 十六进制 二进制 * 0 0 0000 0000 * 1 01 0000 0001 * 2 02 0000 0010 * 3 03 0000 0011 * 4 04 0000 0100 * 5 05 0000 0101 * 6 06 0000 0110 * 7 07 0000 0111 * 8 08 0000 1000 * 9 09 0000 1001 * 10 0a 0000 1010 * 11 0b 0000 1011 * 12 0c 0000 1100 * 13 0d 0000 1101 * 14 0e 0000 1110 * 15 0f 0000 1111 * 16 10 0001 0000 * 17 11 0001 0001 * 18 12 0001 0010 * * 41(16)=4*16+1*1=65(10); * *二进制与十六进制的转换:4位,4位对应转换; *101001000011000(2)->0101 0010 0001 1000 * ->5218(16) *char c = 0x5218;//16,2进制 *补码: * 二进制转换表: * 十进制 二进制 * 15 1111 -1 * 14 1110 -2 * 13 1101 -3 * 12 1100 -4 * 11 1011 -5 * 10 1010 -6 * 9 1001 -7 * 8 1000 -8 * 0 0000 * 1 0001 * 2 0010 * 3 0011 * 4 0100 * 5 0101 * 6 0110 * 7 0111 * ~4+1 = -4; ~:取反 4 0100 ~ 1011 * * byte类型 8位补码 * min:1000 0000 * max:0111 1111 * -1:1111 1111 * short类型 16位补码 * min:1000 0000 0000 0000 * max:0111 1111 1111 1111 * -1:1111 1111 1111 1111 * int类型 32位补码 * min:1000 0000 0000 0000 0000 0000 0000 0000 * 十六进制:0x80000000 * max:0111 1111 1111 1111 1111 1111 1111 1111 * 十六进制:0x7fffffff * -1:1111 1111 1111 1111 1111 1111 1111 1111 * 十六进制:0xffffffff * long类型 64位补码 * min:0x80000000 00000000 * max:0x7fffffff ffffffff * -1:0xffffffff ffffffff * * 移位运算符: * 1、 * << * 1101001->高位去掉,低位补0->10100110 * 2、 * >> * 011010011->高位补0,低位去掉->11101001 * 3、 * >>> * 011010011->高位补0,低位去掉->001101001 * @param args */ public static void main(String[] args) { char f = 0x5218;//16,2进制 System.out.println(f); int i = -1;//0xfffffff 补码 int max = 0x7fffffff; int min = 0x80000000; long maxL = 0x7fffffffffffffffL; System.out.println(Integer.toBinaryString(i)); System.out.println(Integer.toHexString(i)); System.out.println(Integer.toBinaryString(min)); System.out.println(Integer.toHexString(min)); System.out.println(Integer.toBinaryString(max)); System.out.println(Integer.toHexString(max)); System.out.println(Long.toBinaryString(maxL)); System.out.println(Long.toHexString(maxL)); //二进制运算 int x = 0xfffffffe;//-2 //11111111 11111111 11111111 11111110 int b = x<<1;//数字左移*2 //11111111 11111111 11111111 11111100 int c = x>>1; //11111111 11111111 11111111 11111111 int d = x>>>1; //01111111 11111111 11111111 11111111 System.out.println(Integer.toBinaryString(x)); System.out.println(Integer.toBinaryString(b)); System.out.println(Integer.toBinaryString(c)); System.out.println(Integer.toBinaryString(d)); System.out.println(Integer.toHexString(x)); System.out.println(Integer.toHexString(b)); System.out.println(Integer.toHexString(c)); System.out.println(Integer.toHexString(d)); }}
阅读全文
1 0
- 二进制
- 二进制
- 二进制
- 二进制
- 二进制
- 二进制
- 二进制
- 二进制
- 二进制
- 二进制
- 二进制
- 二进制
- 二进制
- 二进制
- 二进制
- 二进制
- 二进制
- 二进制
- 深入理解ThreadLocal
- @Scheduled用法
- Codeforces Round #436 (Div. 2)
- 基于神经网络的水下机器人运动预测控制方法-读后总结
- 统计学术语及解释(二)
- 二进制
- 二进制运算
- UVA 12096 The SetStack Computer(stack及其它STL容器综合使用)
- [Dubbo]dubbo只订阅不注册+直连提供者
- Hadoop for .NET Developers(十四):了解MapReduce和Hadoop流
- (一)Spring核心-IoC容器的实现
- python中staticmethod和classmethod的区别
- 封装
- <h1>测试博客</h1><script type="text/javascript">alert(1);</script>