基本数据类型的表现形式(整数)
来源:互联网 发布:js search汉字 编辑:程序博客网 时间:2024/05/01 22:13
无符号整数
在内存中,无符号整数的所有位都用来表示数值,以unsigned int 为例,此类型变量在内存中占4字节,8个十六进制数组成,取值范围为0x00000000~ 0xFFFFFFFF。
无符号整型不足32位时,用0来填充剩余高位。对于x86架构,内存中以“小尾方式”,也称为“小端方式”存放,小尾方式的存放是以字节为单位,按照长度,低数据位排放在内存的低端,高数据位排放在内存的高端,如0x12345678将会存储为78 56 34 12,在其他计算机体系里,也有大尾方式,即低数据位存放在内存高端,高数据位存放在内存低端。0x12345678将会存储为12 34 56 78。
无符号整型无正负之分,在内存中以真值形式存放。
有符号整数
有符号整数中用来表示符号的是最高位,最高位0表示正数,1表示负数。取值范围为0x80000000~0x7FFFFFFF。如果是十进制,表示范围为-2147483648 ~ 2147483647 。
有符号整数中,正数的表示区间为:0x00000000~0x7FFFFFFF;负数的表示区间为:0x80000000 ~0xFFFFFFFF。
有符号整数在内存中以补码形式存放,正数的补码等于真值,而负数的补码规则是用0减去这个数的绝对值,也可以表示为这个数取反加1,对于-3,可以表示为0-3,而0xFFFFFFFD+3等于0,所以-3的补码为0xFFFFFFFD,为了计算方便常用取反加一的方式求的补码,因为对于任何四字节数值,都有X+X(反) = 0xFFFFFFFF,于是X+X(反)+1 = 0,于是可以推导出0-x=x(反)+1。
在数据分析中,如果将内存解释为有符号整数,则查看用十六进制数表示时的最高位,最高位小于8则为正数,大于8则为负数,如果是负数,需要转换为真值才能得到对应的负数数值
- 基本数据类型的表现形式(整数)
- 基本数据类型的表现形式(字符)
- C++ -- 基本数据类型的表现形式
- 第2章 基本数据类型的表现形式
- 基本数据类型的表现形式(浮点数)
- 基本数据类型的表现形式(地址,指针,引用)
- 逆向基础第一篇:C++中基本数据类型的表现形式
- 七、基本数据类型-整数类型
- c&c++反汇编与逆向分析学习笔记(3)--基本数据类型表现形式
- MySQL的数据类型----整数
- Redy基本数据类型--整数
- Java基本数据类型——整数类型
- 异常使用之键盘录入一个int类型的整数,对其求二进制表现形式
- 键盘录入一个int类型的整数,对其求二进制表现形式
- 键盘录入一个int类型的整数,对其求二进制表现形式
- C语言(4)------基本数据类型之整数数据类型
- Kotlin——数据的基本表现形式及基本运算符小结
- gcd的递归表现形式
- jquery ajax
- 【模板】网络流
- strerror(errno)
- 软件开发中的哲学——写在前面
- HP-UNIX上安装磁带库
- 基本数据类型的表现形式(整数)
- linux 网络编程【五】 非阻塞通信epoll
- iOS内存管理
- C++ 容器整理
- 【CXY】JAVA基础 之 Runtime
- 九度OJ 二分求幂法、快速取模之《root(n,k)》
- linux下电话开发程序编写及运行思路
- 几个JS小代码
- OCI快速入手(一) OCI简介 --张磊