美文网首页
JAVA有符号数与无符号数原理 -128 到127

JAVA有符号数与无符号数原理 -128 到127

作者: Change_6556 | 来源:发表于2019-07-19 14:38 被阅读0次

11111111表示-1
1000000 表示-128 采用的二进制补码

11111111 - 1 = 11111110
-1 - 1 = -2
+1原码 00000001
整数反码和原码是其本身
-1 原码 10000001
符号位不变 其余相反
-1 反码 111111110
反码基础上加1
-1 补码 111111111
计算机使用补码 解决负数运算的问题
1 + (-1) = 0
00000001 + 11111111 = 100000000 (-0)

机器数
一个数在计算机中的表现形式叫做机器数,这个数有正负之分,在计算机中用一个数的最高位(符号位)用来表示它的正负,其中0表示正数,1表示负数。

例如正数7,在计算机中用一个8位的二进制数来表示,是00000111,而负数-7,则用10000111表示,这里的00000111和10000111是机器数

真数
计算机中的机器数对应的真实的值就是真数,对最高位(符号位)后面的二进制数转换成10进制,并根据最高位来确定这个数的正负。对于上面的00000111和10000111来说,对最高位后面的二进制数转换成10进制是7,在结合最高位的值,得出对应的真数分别是7和-7

原码
用第一位表示符号,其余位表示值。因为第一位是符号位,所以8位二进制数的取值范围就是:[1111_1111 , 0111_1111] 即 [-127 , 127] ,原码是容易被人脑所理解的表达方式

反码
正数的补码反码是其本身,负数的反码是符号位保持不变,其余位取反。例如正数1的原码是[0000_0001],它的反码是是其本身

[0000_0001],-1的原码是[1000_0001],其反码是[1111_1110]

补码
正数的补码是其本身,负数的补码是在其反码的基础上+1,例如正数1的原码是[0000_0001],他的补码是其本身[0000_0001],

-1的补码是[1111_1111]
参考链接https://www.cnblogs.com/yongdaimi/p/5945114.html

相关文章

  • JAVA有符号数与无符号数原理 -128 到127

    11111111表示-11000000 表示-128 采用的二进制补码 11111111 - 1 = 111...

  • 失误集锦

    2020.10.16 问题描述: 使用了一个无符号数,这个无符号数是两个数相减得到的。而已有代码相减时没有考虑无符...

  • 1.4数据宽度

    计算机对数据的处理是有大小限制的。 本节必须掌握的知识点: 1、数据宽度 2、理解有符号数、无符号数 3、进制的符...

  • Cpp:位操作符

    位操作符:位操作符操作的整数可以是有符号或无符号数。 下面的例子,假设unsigned char有8位: ~: 类...

  • Java字节运算

    Java的byte范围是-128~127byte转成无符号数 取字节的第n位比如要取字节第8位 取字节的前4位 总...

  • 有符号数与无符号数

    最直观的区别:有符号数的第一位表示正负,无符号数的所有位都用来表示数字大小(且全部是正数)。 计算机中的数字都是用...

  • Class类文件结构

    按照Java虚拟机规范的规定,Class文件结构只有两种数据类型:无符号数和表 无符号数无符号数属于基本的数据类型...

  • 2_有符号和无符号

    关键词:计算机中的符号位、有符号数的表示法、无符号数的表示法、signed和unsigned、无符号数和有符号数的...

  • 有符号数和无符号数

    在计算机中,若一个数代表有符号数,则一个n位数的最高位代表正数或负数,其余位取反加1。比如1000_0000,则除...

  • 有符号数和无符号数

    1.无符号数是相对于有符号数而言的,指的是整个机器字长的全部二进制位均表示数值位,相当于数的绝对值,表示非负数。 ...

网友评论

      本文标题:JAVA有符号数与无符号数原理 -128 到127

      本文链接:https://www.haomeiwen.com/subject/tvsyqctx.html