zoukankan      html  css  js  c++  java
  • 原码补码反码

    原码、反码、补码是计算机中对数字的二进制表示方法。

    计算机储存符号的时候,0表示+;1表示-;

    1、原码

    将最高位作为符号位,其他7位是数值位即一个十进制数字的二进制表示方法。

    例如:     +7的原码为: 00000111
                    -7的原码为: 10000111

    2、反码

    一个数如果为正,则它的反码与原码相同;                            +7的反码为:00000111

    一个数如果为负,则符号位为1,其余各位是对原码取反。     -7的反码为:11111000

    3、补码

    一个数如果为正,则它的原码、反码、补码相同;                                            +7的补码:00000111

    一个数如果为负,则符号位为1,其余各位是对原码取反,然后整个数加1。    -7的补码:11111001

    0的反码、补码都为0

    总结:
    1、正数的原码、补码、反码均为其本身;
    2、负数:
                  反码 = 原码(除符号位外)每位取反
                  补码 = 反码 + 1
                  反码 = 补码 - 1

    public class Test {
        
    	public static void main(String args[]) {
    		int num1=7;
    		int num2=2;
    		System.out.println(num1&num2);
    		System.out.println(num1|num2);
    		System.out.println(num1^num2);
    	}
    }
    

      运行结果:

    Java中数据是按照补码的形式储存的。

  • 相关阅读:
    函数【二】嵌套/作用域/名称空间
    内核模块加载错误 “Invalid module format” 解决办法
    linux oops调试
    linux 工具
    makefile 嵌套
    scheduling while atomic 出现的错误
    Windows下VSCode编译调试c/c++
    window markdown 编辑器
    linux 比较命令
    openwrt 加入nand flash的支持
  • 原文地址:https://www.cnblogs.com/xjmm/p/11552980.html
Copyright © 2011-2022 走看看