Java中负数的二进制如何计算
2017-09-30 14:47
323 查看
计算机对有符号数(包括浮点数)的表示有三种方法:原码、反码和补码,补码=反码+1。
在二进制里,是用0和1来表示正负的,最高位为符号位,最高位为1代表负数,最高位为0代表正数。
以java中8位的byte为例,最大值为:0111 1111,最小值为1000 0001。
那么根据十进制的数字,我们如何转换为二进制呢?对于正数我们直接转换即可,对于负数则有一个过程。
以负数-10为例:
1.先将-5的绝对值转换成二进制,即为0000 1010;
2.然后求该二进制的反码,即为 1111 0101;
3.最后将反码加1,即为:1111 0110
所以Java中Integer.toBinaryString(-10)结果为11111111111111111111111111110110. Integer是4个字节,32位(bit)的。
Java中Long.toBinaryString(-10)结果为1111111111111111111111111111111111111111111111111111111111110110.
Long是8个字节,32位(bit)的。
转自:http://blog.csdn.net/zgrjkflmkyc/article/details/12185143
在二进制里,是用0和1来表示正负的,最高位为符号位,最高位为1代表负数,最高位为0代表正数。
以java中8位的byte为例,最大值为:0111 1111,最小值为1000 0001。
那么根据十进制的数字,我们如何转换为二进制呢?对于正数我们直接转换即可,对于负数则有一个过程。
以负数-10为例:
1.先将-5的绝对值转换成二进制,即为0000 1010;
2.然后求该二进制的反码,即为 1111 0101;
3.最后将反码加1,即为:1111 0110
所以Java中Integer.toBinaryString(-10)结果为11111111111111111111111111110110. Integer是4个字节,32位(bit)的。
Java中Long.toBinaryString(-10)结果为1111111111111111111111111111111111111111111111111111111111110110.
Long是8个字节,32位(bit)的。
转自:http://blog.csdn.net/zgrjkflmkyc/article/details/12185143
相关文章推荐
- Java 位运算(移位、位与、或、异或、非) 以及负数的二进制相互计算
- Java:如何快速计算出某个数转换为二进制后1的个数
- JS 二进制计算,如何得到一个负数的二进制表示
- Java中负数的二进制表示
- 如何计算java对象占用的内存
- 知道某负数补码后如何计算其绝对值?
- JAVA中如何对double或者float的浮点数进行精度计算
- java中如何将String类型的日期转换成数值及计算
- 如何计算java中的对象object大小size
- java 如何表示负数
- (转)Java中负数的二进制表示
- JAVA内存使用--如何计算一个Java对象占用的字节数
- 如何计算Java程序运行时间
- 负数如何转换成二进制
- java中如何计算一个字符串的byte长度(一个汉字多少字符)
- 如何使用java向mysql存取二进制图片
- java中如何计算百分比
- 在JAVA中如何实现浮点数的计算
- JAVA内存使用--如何计算一个Java对象占用的字节数
- 如何计算java对象占用的内存