zoukankan      html  css  js  c++  java
  • 零碎知识

    零碎知识

    前言:在学习java基础时,对int,Double表示的范围有过了解,但是理解的不够透彻,容易遗忘,所以在这里简单记录下,方便日后的查阅

    这里便以计算int的范围为例,其余类型类似。
    问题:int的取值范围是-2147483648到+2147483647,为什么负整数的范围要比正整数范围大1?


    在计算机中,数值用二进制进行表示。java中定义int占4个字节,即32位(比特)
    其中最高位(即第一位)用来表示符号位,0代表正数,1代表负数
    除去符号位,正整数的表示的最大值为:01111111 11111111 11111111 11111111 = 2的31次方-1 即为2147483647
    除去符号位,负整数的表示的最小值为:11111111 11111111 11111111 11111111 = -(2的31次方-1) 即为-2147483647
    那么-2147483648是从哪里来的呢?


    其实还有一个数字0没有考虑,如果按符号位表示的话,有正0和负0 两种0 ,但是我们希望只有一个唯一的0,为了方便运算,把负0(10000000 00000000 00000000 00000000=-2^31)加入到负数的范围中去,所以负整数的范围就比正整数的范围多1

  • 相关阅读:
    iOS Provision 要点记录
    (FIFO)有名管道在无亲缘进程间的通信
    uuid Makefile share
    浅谈C语言中的联合体
    消息队列 进程通信
    onvif makefile without share
    共享内存 进程通信
    共享内存(非map) 进程通信
    消息队列 两个进程
    linux 进程通信
  • 原文地址:https://www.cnblogs.com/weixiao1717/p/14284510.html
Copyright © 2011-2022 走看看