关于在各种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 ...
随机推荐
- mongodb 3.4 学习 (三)复制集
复制集(replica set) 复制集是一组mongodb的进程维护同样的数据集,提供冗余与高可用性.最小的复制集由3台服务器(或者3个实例)组成,最多1个primary和2个secondary实例 ...
- 屏幕 z
private void FullScreen() //全屏 { SizeMode = 2; FormBorderStyle = FormBo ...
- php配置优化-生产环境应用版
[global] error_log = log/php-fpm.log log_level = warning emergency_restart_threshold = 10 emergency_ ...
- Struts2学习-横切关注点
1.建空项目 2.建包 3.建类 4.编写 package com.nf.action; import com.opensymphony.xwork2.ActionInvocation; import ...
- 批量生成DDL脚本
获取用户下所有索引脚本,用于数据迁移后重建索引: set pagesize 0set long 90000set feedback offset echo offspool get_index_ddl ...
- android中View点击和触摸事件的处理
android中的事件类型分为按键事件和屏幕触摸事件,Touch事件是屏幕触摸事件的基础事件,有必要对它进行深入的了解. 一个最简单的屏幕触摸动作触发了一系列Touch事件:ACTION_DOWN-& ...
- 一点一点学写Makefile(5)-获取文件所在路径
我们在开发一套代码时,应该保证工程放到任何一个目录中均可以编译成功,但是有时候链接库的时候会造成编译错误,本次就会告诉大家如何动态的获得工程所在的绝对路径 代码下载目录 选择Makefile-5 // ...
- springIOC的那些事
springIOC动态代理的那些事儿 1.发现问题 今天在使用spring的IOC容器时发现了这样的一个问题: 首先有一个接口定义如下: public interface BookShopSer ...
- Jmeter入门9 __digest函数 jmeter字符串连接与登录串加密应用
登录请求中加密串是由多个子串连接,再加密之后传输. 参数连接:${var1}${var2}${var3} 加密函数:__digest (函数助手里如果没有该函数,请下载最新版本的jmeter5 ...
- 【LOJ6041】「雅礼集训 2017 Day7」事情的相似度(用LCT维护SAM的parent树)
点此看题面 大致题意: 给你一个\(01\)串,每次询问前缀编号在一段区间内的两个前缀的最长公共后缀的长度. 离线存储询问 考虑将询问离线,按右端点大小用邻接表存下来(直接排序当然也可以啦). 这样的 ...