赞
踩
第一章 C语言的常数知识讲解
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
//常见的整数类型: 名字 范围 字节数
int / / 整形 (-2147483648~2147483647) / / 4
short [int] / / 短整型(-32768 ~32767) / / 2
long [int] / / 长整型(-2147483648~2147483647) / / 4/8(分编译器)
long long [int] / / 更长整型(-9223372036854775808~9223372036854775807) / /8
char / / 字符类型的整形( -128~127) / / 1
//常见的浮点型类型: 名字 范围 字节数
flaot / / 单精度浮点数 (-3.4E+38 ~ 3.4E+38) / / 4
double / / 双精度浮点数(1.79E+308 ~ +1.79E+308) / / 8
整形家族:
int:
signed int / /有符号的整形
unsigned int / /无符号的整形 (0~4294967295)
char:
signed char / /有符号的字符类型
unsigned char / / 无符号的字符类型 (0~255)
long【int】:
signed long 【int】 / /有符号的长整形
unsigned long 【int】 / /无符号的长整型 (0~4294967295)
short【int】:
signed short 【int】 / /有符号的短整形
unsigned short 【int】/ /无符号的短整型 (0~65535)
float
double
~~~ 数组类型
~~~ 结构体类型 struct
~~~ 枚举类型 enum
~~~ 联合类型 union
int* pi;
char* pa;
float* pb;
void* pc; //空类型指针
void 表示空类型(无类型)
整形:在内存中存储的形式为补码的形式
整数表示包括三种类型:原码,反码,补码
原码:我们一般输入为原码的十进制形式(或者八进制/十六进制)
补码:在内存中的存储形式
反码:(中间态)正数的原码,反码,补码都是一样的
负数的原码,反码,补码,各不相同 负数的符号位为1,正数的符号位为0
{
反码为原码数符号位不变,符号位为高位,第一位
int a = -10;
// 原码 10000000 00000000 00000000 00001010
符号位
// 反码 111111111 11111111 11111111 11110101
补码为反码加1所得
// 补码 111111111 11111111 11111111 11110110 //a=10 在内存中存储形式
}
代码如下(示例):
求解下面a,b,c三个的值
- #include <stdio.h>
- int main()
- {
- char a = -1; //-1截断后存储到a中
- //10000000000000000000000000000001 -1的原码
- //11111111111111111111111111111110 -1的反码
- //11111111111111111111111111111111 -1的补码
- //11111111 - a
-
- signed char b = -1;
- //11111111111111111111111111111111 -1的补码
- //11111111 - b
-
-
- unsigned char c = -1;
- //11111111111111111111111111111111 -1的补码
- //11111111 - c
-
- printf("a=%d,b=%d,c=%d", a, b, c);
- //-1 -1
- //11111111111111111111111111111111 a/b
- //11111111111111111111111111111110
- //10000000000000000000000000000001
-
- //11111111 c
- //00000000000000000000000011111111
-
- return 0;
- }
知识点:
运行结果:
希望大家可以给个三连,支持支持萌新。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。