原码反码补码

在Java中,无论是小数还是整数,他们都要带有符号(和C语言不同,C语言有无符号数)。首位就作为符号位。

原码

反码

  • 正数的反码是其原码本身
  • 负数的反码是在其原码的基础上, 符号位不变,其余各个位取反

补码:

  • 正数的补码就是其本身
  • 负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1(即在反码的基础上+1,此时1000表示-8)

比如-7原码为1111,反码为1000,补码就是1001了,-6原码为1110,反码为1001,补码就是1010。运算:

1+(-1) = 0001 + 1111 = (1)0000 => +0 (现在无论怎么算,也不会有-0了)

相关推荐
自信的未来2 小时前
JSON 工具|Web Worker 工程化打包 + 语法自动修复 + 多语言代码生成实战
java·前端·json
Brookty2 小时前
【JavaEE】线程安全(一).4:写块串行保安全、CAS
java·开发语言·java-ee·多线程·线程安全
怕孤单的草丛2 小时前
缓存管理面临的主要问题
java·数据库·缓存
犀利豆5 小时前
AI in Harness(二)
java·人工智能·后端
沉静的小伙6 小时前
在微服务中使用领域事件
java·运维·微服务
程序员在囧途6 小时前
likeadmin-api API 算力超市怎么做供应商切换?统一鉴权、task_id 和 callback_url 才能稳交付
java·服务器·数据库·开放api·likeadmin-api·api算力超市
醇氧7 小时前
Spring 容器 Map 注入机制详解
java·后端·spring
ylscode7 小时前
Cloudflare Workers Cache 深度解析:边缘缓存如何重塑无服务器性能边界
java·spring·mybatis
栈溢出了7 小时前
Java Lambda 表达式笔记
java·开发语言·intellij-idea