zoukankan      html  css  js  c++  java
  • int类型129转byte类型得到-127的解释

    package com.yygc.zhen.codeing_base;
    
    /**
     * @author zhen
     * @Date 2019/2/22 10:03
     * 类型转换
     */
    public class TypeTrans {
        public static void main(String[] args) {
            byte bs = (byte)129;
            System.out.println(bs);
            int x = -0101;
            System.out.println(x);
            /**
             * 操作手法:
             *  所见:二进制表示、十进制表示、十六进制表示等,正负使用正负号 + -
             *  计算机内:
             *     原码:计算机中对数字的二进制定点表示方法,原码表示法在数值前面增加了一位符号位(即最高位为符号位):正书该位为0,负数该位为1,其余位表示数值的大小,0有两种表示:+0 和 -0
             *     反码:反码是数值存储的一种,多应用于系统环境设置,反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外
             *     补码:在计算机系统中,数值一律用补码来表示和存储,补码表示法规定:正数的补码与其原码相同,负数的补码是在其反码的末位加1
             *     129 int类型(4个字节)二进制: 00000000 00000000 00000000 10000001
             *     存储用补码:
             *      正数的补码与其原码相同: 00000000 00000000 00000000 10000001
             *     int -> byte(1个字节),截取: 10000001
             *     补码转反码:1开始则为负数,负数得到反码是末位-1: 10000000
             *     反码转原码:逐位取反,符号位除外 11111111
             *     原码转二进制:符号位提取,替换为0 -01111111
             *     二进制转十进制:-2^7 -1 = -127
             *
             * 低位转高位就不用看了,前面的存储位置补足0即可,数值不变
             * 此例子为一道常见面试题
             * 参考:https://blog.csdn.net/weixin_38701432/article/details/79474277
             */
        }
    }
    

      

  • 相关阅读:
    英语语法最终珍藏版笔记-16定语从句
    U3D-页游-检测机制-webplayer-调试方法
    Unity UGUI 的RectTransform参数的设置
    游戏贴图的基本知识
    游戏贴图与模型基本规范
    【游戏模型】游戏超写实贴图制作技巧
    灯光下角度不同会出现中间的片没有光照
    Unity3d中SendMessage 用法
    C# Hashtable赋值给另一个Hashtable时
    InvalidOperationException: out of sync
  • 原文地址:https://www.cnblogs.com/aigeileshei/p/10422565.html
Copyright © 2011-2022 走看看