美文网首页
类型取值与对齐

类型取值与对齐

作者: 阿杜me | 来源:发表于2018-07-07 16:51 被阅读0次

32位与64位的区别:

  1. 内存寻址大小不同,64位管理的内存空间远远大于32位的内存空间
  2. 数据存取单位不同,32位4个字节与64位8个字节的区别
  3. 数据类型大小,体现明显是long类型及指针类型
  4. 数据结构对齐不同

数据类型取值:
32位、64位操作系统类型取值范围:数值以补码的方式存储,正值的补码是原码本身,负值的补码是保持符号位不动,其他值取反+1,+0-0问题,-0作为负值的最小值,所以负值的范围比正值的多1。

不管是原码还是补码, 总会出现 -0 这个值。 本来 +0 与 -0 是没有区别的。 但对于存储器和编译器来讲,总得充分利用每个字节吧, 更不想出现二义性。那么,干脆将 -0 表示为 -128 , 这样一来,既增大了signed char 数值的表示范围,又消除了 -0 的二义性, 岂不美哉!

无符号类型取值范围=0 , 2^位长-1

有符号类型取值范围=-2^(位长-1) , 2^(位长-1)-1

类型 32位字节 64位字节 取值范围
boolean 1 1 true,false
char 1 1 -2^(8-1) , 2^(8-1)-1
unsgined char 1 1 0,2^8-1
short 2 2 -2^(16-1) , 2^(16-1)-1
unsigned short 2 2 0~2^16-1
int 4 4 -2^(32-1) , 2^(32-1)-1
unsigned int 4 4 0 , 2^32-1
long 4 8
unsigned long 4 8
long long 8 8 2^(64-1) , 2^(64-1)-1
float 4 4
double 8 8
void 0 0
pointer 4 8

数据结构对齐:
为了提高内存存取效率,一般采用字节对齐。
字节对齐就是变量存储的地址是变量的有效字节对齐值的整数倍,即: address%最终有效字节对齐值 = 0;
变量字节对齐值 原则:

  1. 变量的自身字节对齐值
    简单类型变量
    对于char型数据,其自身对齐值为1,对于short型为2,对于int,float,double类型,其自身对齐值为4,单位字节。
    结构类型或联合类型:
    自身字节对齐值的大小是其成员中最大基本类型要求的有效字节对齐值
  2. 编译器要求的字节对齐值:
    编译器设置要求的字节对齐值,32位按4个字节对齐,64位按8位对齐
  3. 最终有效的字节对齐值:
    在自身字节对齐值和编译器要求的字节对齐值中取较小的。

相关文章

  • 类型取值与对齐

    32位与64位的区别: 内存寻址大小不同,64位管理的内存空间远远大于32位的内存空间 数据存取单位不同,32位4...

  • 枚举

    枚举自己定义一个限定取值的新类型1.创建新类型enum 新类型名称{限定取值1,限定取值2,限定取值3,........

  • Bootstrap部分好用的功能

    文本对齐 在CSS中常常使用text-align来实现文本的对齐风格的设置。其中主要有四种风格: 左对齐:取值le...

  • solidity基本语法 - 值类型

    Value Types 值类型是指当传递这些类型时,传递的是类型的取值。 bool bool类型的取值位true,...

  • OC - button对齐方式

    button.contentHorizontalAlignment // 对齐属性 对齐类型 /* UIContr...

  • 广义与一般线性模型及R使用

    5.1 数据的分类与模型选择 变量的取值类型 因变量的取值类型通常包括:连续变量、“0-1”变量或称二分类变量、有...

  • 文本属性

    缩进与水平对齐 缩进文本 text-indent 应用元素:块级元素 继承型: 继承 取值: 长度值或者百分数 水...

  • Java se 1.2 数据类型转换

    数据类型转换 数据类型不一样时,会发生类型转换 自动类型转换:将取值范围小的类型自动提升为取值范围较大的类型。 (...

  • 1-6 基本类型,操作符,控制,初始化及访问权限

    基本类型的取值范围 基本类型与包装类型 对于成员变量,为基本类型时 java会为它们赋予默认值,为包装类型或者引用...

  • JAVA不同数据类型的取值范围与溢出现象

    基本类型大小最小取值最大取值包装类型Int32bit-2^31(2147483648)2^31-1(2147483...

网友评论

      本文标题:类型取值与对齐

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