原码反码补码

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

原码

反码

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

补码:

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

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

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

相关推荐
IT毕设实战小研21 分钟前
基于SpringBoot的救援物资管理系统 受灾应急物资管理系统 物资管理小程序
java·开发语言·vue.js·spring boot·小程序·毕业设计·课程设计
_hermit:1 小时前
【从零开始java学习|第六篇】运算符的使用与注意事项
java·学习
布朗克1681 小时前
Java 8 新特性介绍
java·java8·新特性
David爱编程1 小时前
Java 字符串拼接用 +、StringBuilder 还是 StringBuffer?一篇给你终极答案
java·后端
gAlAxy...1 小时前
Java List 集合详解(ArrayList、LinkedList、Vector)
java·开发语言
暮乘白帝过重山1 小时前
解剖HashMap的put <三> JDK1.8
java·数据结构·hashmap·暮乘白帝过重山
Warren981 小时前
MySQL,Redis重点面试题
java·数据库·spring boot·redis·mysql·spring·蓝桥杯
卓码软件测评2 小时前
网站测评-利用缓存机制实现XSS的分步测试方法
java·后端·安全·spring·可用性测试·软件需求
Skylar_.3 小时前
嵌入式 - Linux软件编程:进程
java·linux·服务器
Acrelhuang3 小时前
基于柔性管控终端的新能源汽车充电站有序充电系统设计与实现
java·开发语言·人工智能