JAVA中负数的二进制表示

计算机对有符号数(包括浮点数)的表示有三种方法:原码、反码和补码,反码=原码按位取反 补码=反码+1。 移码为补码取反。

在二进制里,是用0和1来表示正负的,最高位为符号位,最高位为1代表负数,最高位为0代表正数。

对于负数而言,是以补码的形式存储在内存中的。以-8(int)为例,

第一步:将-8的绝对值转化为二进制 0000 1000

第二步:将上面的二进制以反码表示 1111 0001

第三步:转化为补码 11111111 11111111 11111111 11110010 因为int是四个字节。这个二进制的值可以通过Integer.toBinaryString()来获取。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.你自已决定是否需要有正负: 就像我们必须决定某个量使用整数还是实数,使用多大的范围数一样,我们必须自已决定某个...
    Xiho丶阅读 6,478评论 0 2
  • 本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可...
    yang2yang阅读 6,789评论 1 13
  • 网站乱码问题我们会经常碰到,大多见于非英文的中文字符或其他字符乱码,而且,这类问题常常是因为编码方式问题,主要原因...
    波段顶底阅读 8,213评论 1 9
  • 日暖风和 凭栏对歌 遥想笔下千卷 行云流水 轻抚琴瑟 望穿万里山河 柳影花香 笑语梳妆 唯待佳人共韶光
    天籁村阅读 799评论 0 0
  • 我从未想过拥有你,只是那年,你带着阳光和清风从我窗前经过,只是那年你逆着夕阳淌过河。正茂年华,仅是那年。
    仟穹阅读 884评论 0 0