码迷,mamicode.com
首页 > 编程语言 > 详细

原码,反码,补码,及Java中数字表示方法

时间:2018-10-06 13:12:10      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:数字   利用   方法   计算   正数   没有   反码   问题   其他   

原码:原码是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值. 如:如果是八位二进制1即用00000001表示,-1即用10000001表示。 反码:正数的反码就是其本身,负数的反码是在其原码的基础上,符号位不变,其他各个位取反。 补码:正数的补码就是其本身,负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)。 利用原码计算:1 - 1 = 1 + (-1) = [00000001]原 + [10000001]原 = [10000010]原 = -2,明显并不正确,而当利用反码时:1 - 1 = 1 + (-1) = [0000 0001]原 + [1000 0001]原= [0000 0001]反 + [1111 1110]反 = [1111 1111]反 = [1000 0000]原 = -0,虽然计算结果正确,但是0带的负号没有意义,利用补码时1-1 = 1 + (-1) = [0000 0001]原 + [1000 0001]原 = [0000 0001]补 + [1111 1111]补 = [0000 0000]补=[0000 0000]原,就能解决这个问题,当利用Java进行计算1-1时所得结果为0,所以Java中数字是用补码进行表示的。

原码,反码,补码,及Java中数字表示方法

标签:数字   利用   方法   计算   正数   没有   反码   问题   其他   

原文地址:https://www.cnblogs.com/123456www/p/9746898.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!