C和C指针小记(七)-整型变量范围
1、变量范围
limits.h 头文件中定义来C 语言的变量范围.
变量范围的限制
//char 的范围
printf("CHAR_BIT:%d CHAR_MIN:%d CHAR_MAX:%d\n",CHAR_BIT,CHAR_MIN,CHAR_MAX);
//signed char 范围
printf("SCHAR_MIN:%d SCHAR_MAX:%d \n",SCHAR_MIN,SCHAR_MAX);
//unsigned char 最大值
printf("UCHAR_MAX:%d \n",UCHAR_MAX);
//short int 范围
printf("SHRT_MIN:%d SHRT_MAX:%d USHRT_MAX:%d \n",SHRT_MIN,SHRT_MAX,USHRT_MAX);
//int 范围
printf("INT_MIN:%d INT_MAX:%d \n",INT_MIN, INT_MAX);
//long int 范围
printf("LONG_BIT:%d LONG_MIN :%ld LONG_MAX:%ld ULONG_MAX:%ld \n",LONG_BIT, LONG_MIN, LONG_MAX, ULONG_MAX);
//long long int 范围
printf("LONG_BIT:%d LONG_LONG_MIN:%lld LONG_LONG_MAX:%lld ULONG_LONG_MAX:%lld \n",LONG_BIT,LONG_LONG_MIN,LONG_LONG_MAX, ULONG_LONG_MAX);
输出结果
CHAR_BIT:8 CHAR_MIN:-128 CHAR_MAX:127
SCHAR_MIN:-128 SCHAR_MAX:127
UCHAR_MAX:255
SHRT_MIN:-32768 SHRT_MAX:32767 USHRT_MAX:65535
INT_MIN:-2147483648 INT_MAX:2147483647
LONG_BIT:64 LONG_MIN :-9223372036854775808 LONG_MAX:9223372036854775807 ULONG_MAX:-1
LONG_BIT:64 LONG_LONG_MIN:-9223372036854775808 LONG_LONG_MAX:9223372036854775807 ULONG_LONG_MAX:-1
注意:不管是int,还是 long int, long long int无符号整型的最大范围都是-1.因为计算机内负数是补码表示的,对计算机来说,-1最大.
C和C指针小记(七)-整型变量范围的更多相关文章
- C和C指针小记(一)-字符输入,函数,ASCII扩展表
1.连续接收输入字符时 int ch; while(ch != EOF && ch != '\n') ch 为什么被声明为整形,我们不是需要用它来读取字符的嘛? 因为:EOF是一个整形 ...
- C和指针 第七章 习题
7.1 hermite递归函数 int hermite(int n, int x) { if (n <= 0) { return 1; } if (n == 1) { return 2 * x; ...
- C和指针 第七章 可变参数
可变参数列表是通过stdarg.h内的宏来实现的: 类型 va_list 三个宏: va_start va_arg va_end 我们可以声明一个va_list变量,与这三个宏配合使用. 可变参数必须 ...
- C和C指针小记(十八)-使用结构和指针-双向链表
1.双链表 1.1 双向链表的声明 在一个双链表中,每个节点都包含两个指针--指向前一个节点的指针和指向后一个节点的指针. 声明 typedef struct NODE { struct NODE * ...
- C和C指针小记(十六)-动态内存分配
动态内存分配 1.1 为什么使用动态内存分配 直接声明数组的方式的缺点: 1) 声明数组必须指定长度限制.无法处理超过声明长度的数组. 2) 如果声明更大的常量来弥补第一个缺点,会造成更多的内存浪费. ...
- C和C指针小记(十七)-使用结构和指针-链表
1.链表 链表(linked list)即使是一些包含数据的独立数据结构的(Node)集合. 链表中的每个节点通过链或指针链接在一起. 程序通过指针访问链表中的节点. 节点通常是动态分配的,但也有由节 ...
- C和C指针小记(十五)-结构和联合
1.结构 1.1 结构声明 在声明结构时,必须列出它包含的所有成员.这个列表包括每个成员的类型和名称. struct tag {member-list} variable-list; 例如 //A s ...
- C和C指针小记(十四)-字符串、字符和字节
1.字符串 C语言没有字符串数据类型,因为字符串以字符串常量的形式出现或存储于字符数组中. 字符串常量和适用于那些程序不会对他们进行修改的字符串. 所有其他字符串都必须存储于字符串数组或动态分配的内存 ...
- C和C指针小记(十三)-数组
1.1 一维数组 一维数组的声明: int a[10]; 这里a就是一个数组. 数组a的类型就是一个指向整型的常量指针. 但是数组和指针是**不相同**的. **数组具有特定数量的元素,而指针只是一个 ...
随机推荐
- MySQL -- 异步I/O
linux上,innodb使用异步IO子系统(native AIO)来对数据文件页进行预读和写请求.行为受到参数innodb_use_native_aio控制.默认是开启的,且只是适用于linux平台 ...
- elasticsearch 忽略大小写模糊搜索实现(转)
在es查询时不区分大小写,可以让查询更方便,具体设置如下: { "settings": { "analysis": { "analyzer" ...
- JPA+Hibernate 3.3 ——增删改查
1. 查找对象 1) 用find()方法查找对象 public void getPerson(){ EntityManagerFactory factory = Persistence. ...
- Oracle---number数据类型
NUMBER ( precision, scale) precision表示数字中的有效位;如果没有指定precision的话,Oracle将使用38作为精度. 如果scale大于零,表示数字精确 ...
- 【iCore1S 双核心板_FPGA】例程十:乘法器实验——乘法器的使用
实验现象: 通过FPGA 的一个I/O 口连接LED:设定I/O 为输出模式.内部乘法器完成乘法计算后改变输出LED 的状态(红色LED 闪烁). 核心代码: module MULT( input C ...
- MTK 隐藏底部状态栏
步骤: 源码/frameworks/base/policy/src/com/android/internal/policy/impl目录下修改PhoneWindowManager.java文件. 修改 ...
- 使用gdbserver远程调试
使用gdbserver远程调试 1.默认crosstool交叉编译器没有自带gdbserver,需要自行编译 到GNU官方FTP下载,目前最新版的是gdb-6.7.1下载地址:http://ftp ...
- 网络编程 -- RPC实现原理 -- RPC -- 迭代版本V2 -- 本地方法调用 整合 Spring
网络编程 -- RPC实现原理 -- 目录 啦啦啦 V2——RPC -- 本地方法调用 + Spring 1. 配置applicationContext.xml文件 注入 bean 及 管理 bean ...
- 设置Linux打开文件句柄/proc/sys/fs/file-max和ulimit -n的区别
max-file 表示系统级别的能够打开的文件句柄的数量.是对整个系统的限制,并不是针对用户的. ulimit -n 控制进程级别能够打开的文件句柄的数量.提供对shell及其启动的进程的可用文件句柄 ...
- rtmp推送aac没有声音的问题记录
症状是这样的:用librtmp推流aac后,用vlc能收到推流的声音,但是用flash却播放不了推流的声音. 查了几天,用工具抓取推流的数据,发现rtmp数据包中的头部信息有一个Chunk S ...