关于在各种int类型选择时的考虑
整数类型int在不同版本的c标准中不断丰富。
最初的K&R标准给出了int作为整数的基本类型,给出long、short、unsigned作为int的变式。在c90中又加入了signed。
在c90标准中增加了unsigned long、unsigned int 和unsigned short类型,在c99标准中又增加了long long、unsigned long long类型。
**
需要特别注意的是,在long类型和int类型占用空间相同的机器上编写代码,如需用到一个32位整数时,应该使用long类型而不是int类型,应为这样代码在被移植到16位机上时仍然可以正常运行。——保证了c程序的可移植性。同样,如果代码中确实需要64位整数时,应该是用long long类型。
在int设置为32位的机器中要使用16位整数,可用short类型进行定义,以此节省内存。通常这种空间节省在用到相对于系统可用内存较大的整型数组时效果才明显。
关于在各种int类型选择时的考虑的更多相关文章
- 为什么char类型输入遇空格会结束,int类型必须要空格才能输出
		
char类型与int类型输入时的区别: 在C语言的规则中,规定了scanf函数在接收字符串时--遇到空格或回车就认为前面的输入已经完成且有效! 而对于int类型:表示整数,输入时需要用空格隔开,以确认 ...
 - Java 中long类型转换成为int类型时可能会出错的地方
		
那计算两个日期之间间隔的天数为例来说明这个问题. 下面是计算日期间隔天数的简单算法(主要出错的地方为红色标注的地方): public int getDay(String startDate, Stri ...
 - Java byte类型转换成int类型时需要 & 0XFF的原因
		
Java byte类型转换成int类型时需要 & 0XFF的原因 假设有byte b = -1; 那么b的二进制是:1111 1111. 如果将b直接转换为int类型,那么二进制是 1111 ...
 - .NET向WebService传值为decimal、double、int、DateTime等非string类型属性时,服务器端接收不到数据的问题
		
最近在做CRM项目时,使用C#调用SAP PI发布的WebService服务时遇到的问题: 向WebService传值为decimal.double.int.DateTime等非string类型数据时 ...
 - mysql int类型字段插入空字符串时自动转为0
		
mysql int类型字段插入空字符串时自动转为0 如果不想转的话可以修改配置文件 修改 my.ini 文件. # Set the SQL mode to strictsql-mode=”STRICT ...
 - 解决DataTable中的DataColumn类型默认为int类型时, 导致不能修改其列值为其他类型的解决办法
		
问题起因: 扔给数据库一条select * from [表名] , 得到一个DataTable, 发现有一列status状态的DataColumn的类型是int,然后我想换成字典表里的文字描述,然后就 ...
 - 详解mysql int类型的长度值问题【转】
		
mysql在建表的时候int类型后的长度代表什么? 是该列允许存储值的最大宽度吗? 为什么我设置成int(1), 也一样能存10,100,1000呢. 当时我虽然知道int(1),这个长度1并不代表允 ...
 - MySQL数据类型 int(M) 表示什么意思?详解mysql int类型的长度值问题
		
MySQL 数据类型中的 integer types 有点奇怪.你可能会见到诸如:int(3).int(4).int(8) 之类的 int 数据类型.刚接触 MySQL 的时候,我还以为 int(3) ...
 - int类型究竟占几个字节
		
我最近也在看深入理解计算机系统这本书,上面提到了在32位机器和64机器中int类型都占用4个字节.后来,别人查了The C Programming language这本书,里面有一句话是这样的: Ea ...
 
随机推荐
- nagios centos7 rpm打包
			
wget https://github.com/NagiosEnterprises/nagioscore/releases/download/nagios-4.3.1/nagios-4.3.1.tar ...
 - OFFICE_EXCEL_Combine text from two or more cells into one cell.
			
Excel Enter and format data Layout Combine text from two or more cells into one cell Combine t ...
 - 数据结构学习-数组A[m+n]中依次存放两个线性表(a1,a2···am),(b1,b2···bn),将两个顺序表位置互换
			
将数组中的两个顺序表位置互换,即将(b1,b2···bn)放到(a1,a2···am)前边. 解法一: 将数组中的全部元素(a1,a2,···am,b1,b2,···bn)原地逆置为(bn,bn-1, ...
 - IOS Xib使用
 - HDU 1853 MCMF
			
题意:给定一个有向带权图,使得每一个点都在一个环上,而且权之和最小. 分析:每个点在一个环上,入度 = 出度 = 1,拆点入点,出点,s到所有入点全部满载的最小费用MCMF; #include < ...
 - bzoj 2179 FFT
			
求两个高精度的乘法. 根据高位低位,填入多项式的系数,求两个卷积,然后进位操作.
 - react中 props,state与render函数的关系
			
我们很明显的能够感受到,react是一门数据驱动的框架,当数据发生变化,页面就会自动发生变化,他背后的原理是怎么样子的呢 比如todolist例子里面,inputValue变了,框里面的内容就会自动变 ...
 - (第八场)G  Counting regions 【欧拉公式】
			
题目链接:https://www.nowcoder.com/acm/contest/146/G G.Counting regions | 时间限制:1 秒 | 内存限制:128M Niuniu lik ...
 - JavaScript常见的内存泄漏原因
			
JavaScript 的垃圾收集机制 javascript具有自动垃圾收集机制,也就是说,执行环境会负责管理代码执行过程中的使用的内存.而在C和C++之类的语言中,开发人员的一项基本任务就是手动跟踪内 ...
 - css实现单行的靠左靠右和居中效果
			
1.父元素 text-align:center 2.子元素 .left{ float:left; } .right{ float:right; } .center{ display:inline ...