原码与补码的转换
来源:互联网 发布:天猫魔盒直播软件 编辑:程序博客网 时间:2024/04/30 14:04
有符号数表示(以8 bit为例)
最高位为符号位,1表示负数,0表示正数。
计算规则:最高位为负权,其他位为正权
1111 1111B = -1*2^7+1*2^6+1*2^5+1*2^4 +1*2^3+1*2^2+1*2^1+1*2^0 = -128+64+32+16 +8+4+2+1 = -1 (最大负数)
1000 0000B = -128 (最小负数)
0111 1111B = 127 (最大正数)
0000 0000B = 0 (最小正数)
无符号数表示(以8 bit为例)
所有位为正权
1111 1111B = 128+64+32+16 +8+4+2+1 = 255 (最大数)
0000 0000B = 0 (最小数)
Java的int、long最大、最小值
static void t7(){int i32 = 0xffffffff;long i64 = 0xffffffffffffffffL;System.out.println("max -i32:\t"+i32);System.out.println("max -i64:\t"+i64);i32 = 0x80000000;i64 = 0x8000000000000000L;System.out.println("min -i32:\t"+i32);System.out.println("min -i64:\t"+i64);i32 = 0x7fffffff;i64 = 0x7fffffffffffffffL;System.out.println("max +i32:\t"+i32);System.out.println("max +i64:\t"+i64);i32 = 0x00000000;i64 = 0x0000000000000000L;System.out.println("min +i32:\t"+i32);System.out.println("min +i64:\t"+i64);}
原码与补码互转。
正数原码和补码相同。
负数原码转补码规则:原码的反码+1
Random rand = new Random();int i = -rand.nextInt(Integer.MAX_VALUE);System.out.println("原码:\t"+i);i = ~i+0x01;System.out.println("补码:\t"+i);i = ~i+0x01;System.out.println("原码:\t"+i);
- 原码与补码的转换
- 类型强制转换与计算机的原码,补码,反码
- 原码,补码,反码的由来与转换
- 原码、反码、补码的转换
- 原码与补码
- java的原码,反码与补码
- 计算机的原码,反码与补码
- 原码,补码,反码转换。。。。
- 进制转换与原码反码补码
- 原码反码补码详解与十进制转换为二进制的各种实现
- 【经典算法】:原码,反码,补码之间的转换问题
- 进制之间的转换、原码--反码--补码
- 二进制转换(负数的原码,反码,补码)
- 原码、反码、补码之间的转换和简单运算
- 补码、原码与反码
- 原码、反码与补码
- 原码、反码与补码
- 原码、补码与反码
- MakeFile例子
- java_第13章 多线程(2)
- Exception loading sessions from persistent storage
- 博弈总结
- JMS
- 原码与补码的转换
- 折半查找法的两种实现
- Hadoop实战-初级部分 之 开启云计算之旅 第一部分:我们为什么要学习云计算技术
- 当验证码也被破解,如何才能证明自己是人类?!
- android 获取GPS定位,
- Oracle常用sql操作总结
- TabHost中使用startActivityForResult无法接收返回值的解决方案
- java 与 c#
- C++各大有名库的介绍