JAVA byte取值范围表达理解
来源:互联网 发布:人工智能无人驾驶股票 编辑:程序博客网 时间:2024/05/22 00:45
我们知道JAVA中byte是一个字节来进行存储的,即8位二进制数,可以表示的数字有256个即(0-255)
但计算机中需要表示正数和负数,那么负数在计算机中怎么表示呢?
这里涉及一个新的概念就是
模:
模 即n位m进制能表示的数字的个数,那么8位二进制数的模就是256
如果是两位10进制数呢,那就可以表示 0-99 这100个数,即模是100
补数:
范围在 1->模 之间的任意两个相加等于模的数互为补数
先贤们就用一个很巧妙的方式来表达了负数:即在(0-模)范围内一半的数字表示正数,一半的数字表示负数
0-127这128个数字表示byte中的 0-127
128-225这128个数字表示byte中-128 到 -1
在计算机中存储的二进制表示如下:
数字和对应的二进制
128表示-128255表示-11000 00001111 1111
上面的二进制即是大家熟知的补码(补数对应的二进制数即补码)
源码,反码,补码体系
正数补码是其二进制数本身
负数的补码是首先获得其绝对值原码,再首位变1后其余取反再加1;
[+1] = [00000001]原 = [00000001]反 = [00000001]补
[-1] = [10000001]原 = [11111110]反 = [11111111]补
可以参看:http://www.cnblogs.com/zhangziqiu/archive/2011/03/30/ComputerCode.html
这和用模的概念获得数字在计算机中存储的二进制结果是一致的,
可以说后者(原码,反码,补码)是一种途径,而前者(一半用来表示正数,一半用来表示负数)是约定;
阅读全文
1 0
- JAVA byte取值范围表达理解
- 关于Java中Byte类型的取值范围是-128~127的理解
- 关于Java中Byte类型的取值范围的理解
- java基本类型byte的取值范围
- java基本类型byte的取值范围
- java整型byte,short,int,long取值范围大小
- java整型byte,short,int,long取值范围大小
- java整型byte,short,int,long取值范围大小
- java整型byte,short,int,long取值范围大小
- java整型byte,short,int,long取值范围大小
- java 中 byte,short,int,long的取值范围
- Java byte 类型的取值范围是-128~127
- Java中byte的取值范围(-128~127)
- java学习总结(16.05.17)对数据类型取值范围和数据溢出的理解(以byte类型为例)
- 取值范围-JAVA
- JAVA位运算、进制转换、byte数组转换、JAVA数据类型取值范围
- 为什么Java byte 类型的取值范围是-128~127
- 为什么java中Byte类型的取值范围是-128~127
- Hibernate学习---缓存机制
- 什么玩意?快读快写浮点型数据?
- 求素数
- 期末作业系列之设计模式
- 【深度分析】Docker的link机制
- JAVA byte取值范围表达理解
- Fatal error compiling: java.lang.NoSuc hFieldError??
- Poj 2528 Mayor's posters (线段树区间更新)
- 线性表的操作
- dfs 数据保存再利用
- 【备忘】Hadoop,Hbase,Hive源码解析与开发实战
- web常见漏洞
- 海思hi3536 系统的终端显示中文乱码解决
- 浅谈算法书籍学习路线