整型

作者: mago_dg | 来源:发表于2019-01-01 18:46 被阅读0次

整型

整型: 没有小数,包含负数,不同平台不会改变其取值范围分为以下4种

类型 字节数 取值范围
int 4 -2^{31} - (2^{31} - 1)
short 2 -2^{16} - (2^{16}-1)
long 8 -2^{64} - (2^{64}-1)
byte 1 -2^8-(2^8-1)

向下转型时候如果超出了对应的取值范围数据会丢失精度比如byte v = (byte) 129;

1字节 = 8位
取值范围公式(n为位数): -2^n-(2^n-1)

为什么最大值为 2^n-1 而不是 2^n 呢?首先来了解下二进制,原码,补码,反码的概念帮助我们理解。

二进制

无论是图形图像,电子设备,传输数据归根到底都是 0 与 1 的信号处理。当前的计算机系统使用的基本上都是二进制,数据在计算机中主要是以补码的形式存储的。

举个列子,我们常用的十进制数据与二进制数据的对应关系

二进制 = 十进制 转换如下

1 = 1,10 = 2,100 = 4,1000 = 8,11000 = 24

11 = 3 等同于 1*2^0+1*2^1=3

10 = 2 等同于 0*2^0+1*2^1=2

转换其它进制类似就不一一举例了

原码、反码、补码

正数的原码补码反码是其一样的
负数的原码是正数原码符号为改为1; 反码是除了符号位其余各位取反;补码是其反码末尾加1的结果,
我们以一个byte为列1byte = 8位(首位符号位,0正1负)

正负类型 原码 反码 补码 数值
最大值 01111111 01111111 01111111 2^0+2^1+2^2+...+2^6=127
最小值 10000000 11111111 1000000 1*2^7=128

我们由补码由此反推出byte取值区间为[-128,127]

相关文章

  • 整型

    整数溢出:如果给定的一个数超出了integer的范围,将会被解释为float。同样如果执行的运算结果超出了inte...

  • 整型

    整型 整型: 没有小数,包含负数,不同平台不会改变其取值范围分为以下4种 向下转型时候如果超出了对应的取值范围数据...

  • NSLog各种打印

    %@ 对象 %d,%i 整型 (%i的老写法) %hd 短整型 %ld , %lld 长整型 %u 无符整型 %f...

  • iOS 各种输出NSLog

    %@ 对象 %d,%i 整型 (%i的老写法) %hd 短整型 %ld , %lld 长整型 %u 无符整型 %f...

  • NSLog各种打印

    %@ 对象 %d,%i 整型 (%i的老写法) %hd 短整型 %ld , %lld 长整型 %u 无符整型 %f...

  • Mysql常用类型

    1、整型 int 一般整型bigint 大数据整型tinyint 小数据整型长度固定之后,在内存中...

  • ClickHouse系列3-CK数据类型

    一. 整型 固定长度的整型,包括有符号整型或无符号整型。 整型范围(-2n-1~2n-1-1):Int8 - [-...

  • Python之数据类型与变量_2018-01-07

    数据类型 整型整型的范围:无限大整型的定义:直接赋值给变量( x = 90)整型的运算:整型之间的除法运算结果是精...

  • 第3章 数据类型

    与其它框架比较 3.1 整型 固定长度的整型,包括有符号整型或无符号整型。整型范围(-2n-1~2n-1-1): ...

  • 数据类型——C语言基础

    整型: 长整型(long),短整型(short),普通整型(int)(用来定义整数的数据类型) 由于占用的内存空间...

网友评论

      本文标题:整型

      本文链接:https://www.haomeiwen.com/subject/rnvnlqtx.html