滁州市网站建设科技公司,可以做来电名片的网站,学院网站群建设方案,百度企业邮箱注册一、问题 整型常量的存储形式是怎样的#xff1f;-8 在内存中的存储形式是怎样的#xff1f;
二、解答
1、整型常量在计算机中的存储形式主要取决于其类型和编译器实现。
#xff08;1#xff09; 整型常量 • 整型常量#xff08;如int类型#xff09;在计算机内存中…一、问题 整型常量的存储形式是怎样的-8 在内存中的存储形式是怎样的
二、解答
1、整型常量在计算机中的存储形式主要取决于其类型和编译器实现。
1 整型常量 • 整型常量如int类型在计算机内存中是以二进制补码的形式存储的。• 根据整数的大小它可能占用2个字节对于short int类型在某些系统上、4个字节通常对于
int类型、8个字节对于long int或long long int类型等不同长度的内存空间。• 例如如果有一个32位4字节的int类型的整型常量值为17则其在内存中的二进制补码形式表示
为00000000 00000000 00000000 00010001。
2不同类型整型常量的书写方式
• 十进制直接写出数字即可如 int a 123;
• 八进制以0开头后跟八进制数字0-7如 int b 023; 实际值是十进制的19
• 十六进制以0x或0X开头后跟十六进制数字0-9、A-F 或 a-f如 int c 0x17; 实际值
也是十进制的23 无论采用哪种书写方式最终在内存中的存储都是按照对应数据类型的二进制格式来完成的。并且根据C语言标准和不同的系统架构不同大小的整型变量会有特定的最小和最大取值范围。
2、-8 在内存中的存储 整数 -8 在内存中的存储形式取决于整数的位宽通常我们讨论的是 32 位4字节的 int 类型。在大多数现代系统中采用补码表示负数因此
对于一个 32 位的 int 类型
8 的原码是 00000000 00000000 00000000 00001000 要得到 -8 的补码--首先取反得到其反码然后加 1
--反码11111111 11111111 11111111 11110111
--补码11111111 11111111 11111111 11110111 1 11111111 11111111 11111111 11111000 所以在内存中-8 会以补码形式 11111111 11111111 11111111 11111000 存储。若是在 16 位系统或 16 位整型变量中则为 11111111 11111000。
三、总结 整型常量在内存中以⼆进制形式存储的有两种数据有符号和⽆符号。 上⾯介绍的是有符号的数据在内存中的存储形式⽆符号的整型常量是正数或者 0所以最⾼位不⽤来存放数据的符号⽽是⽤来存放数据本身。