zoukankan      html  css  js  c++  java
  • 有符号数与无符号数

    1、无符号数:其最高位的1或0,和其它位一样,用来表示该数的大小。
    一个字节(1111 1111) 1111 1111=12^7+12^6+12^5+12^4+12^3+12^2+12^1+12^0=255;所以无符号的一个字节表示的数据范围是0~255 共 256个;

    例如:100 无符号表示:0110 0100

    2、有符号数:最高数称为“符号位”。为1时,表示该数为负值,为0时表示为正值。
    一个字节(0111 1111) 最高位的0表示正号,0111 1111=+111 1111=+(12^6+12^5+12^4+12^3+12^2+12^1+1*2^0)=+127
    一个字节(1111 1111) 最高位的1表示负号,1111 1111 =-111 1111 =-127 所以有符号的一个字节表示的数据范围是-127 到 +127 共 255个;

    例如:100 有符号表示:0110  0100  //最高位0 表示 +号, 后七位才是具体数据位

    例如:-100 有符号表示: 1110  0100 //最高位1 表示 -号, 后七位才是具体数据位

    二、java中的基础数据类型

    JAVA中没有提供无符号的基本数据类型

    在 java 中byte 的范围是 -128 到127  

    1、为什么有符号数的一个字节最小值是-128 

    计算机存储数据是按照补码的形式,

    有符号数的一个字节最大:0111 1111 =127;正数的补码等于原码     ;

    有符号数的一个字节最小:1000 0000 ;反码= 1111 1111 ;补码=反码+1= -111 1111+1 =-0 ;由此可见 -0与0重复;计算机规定 -128等于-0;  

  • 相关阅读:
    《自己动手写操作系统》:开发环境配置心得
    sip.conf配置详情
    MySQL字符串中数字排序的问题
    Asterisk iax错误提示
    Python 快速入门
    C# winfrom 导出word
    SetWindowsHookEx函数参数详解
    Ubuntu Linux系统下轻松架设nginx+php服务器应用
    TShockwaveFlash的使用
    检讨
  • 原文地址:https://www.cnblogs.com/jalja365/p/13953356.html
Copyright © 2011-2022 走看看