原码反码补码

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

原码

反码

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

补码:

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

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

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

相关推荐
慕y2747 分钟前
Java学习第六十三部分——K8s
java·开发语言·学习
你我约定有三33 分钟前
RabbitMQ--批量处理
java·windows·后端·rabbitmq
Seven971 小时前
剑指offer-14、链表中倒数第k个结点
java
神仙别闹1 小时前
基于Java+MySQL实现(Web)文件共享管理系统(仿照百度文库)
java·前端·mysql
万笑佛1 小时前
java请求http服务-参数是@RequestBody String resultJson 类型
java
wsj__WSJ1 小时前
IDEA(2024.3.1) 配置 Spring Boot 热部署
java·spring boot·intellij-idea
MediaTea2 小时前
Python 库手册:xml.etree.ElementTree 处理 XML 数据模块
xml·java·前端·数据库·python
阿华的代码王国2 小时前
【Android】xml和Java两种方式实现发送邮件页面
android·xml·java
铃木隼.2 小时前
Docker Compose与私有仓库部署
java·docker·容器
闲云散3 小时前
BeanUtils 简述
java