关于在各种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 ...
随机推荐
- IE浏览器下 Vue2.x 和 Angular 应用无法打开
报错信息:SCRIPT5022: 引发了异常但未捕获 polyfills.bundle.js (861,36) 原因是es6报错,需要引用 polyfill. Vue项目中,$ npm install ...
- python课程笔记
python变量原理:以数值为主,数字存储在内存中,分配给不同的变量.与C刚好相反 Python中,有3种内建的数据结构:列表.元组和字典.1.列表 list是处理一组有序项目的数据结构,即你 ...
- sqlplus中设置在屏幕中上不打印出输出
在某些特定的情况下我们想在做某种实验,需要执行一段sql语句,但是不想在屏幕上打印出sql语句的结果(太长了)可以采用如下方式.1 把想要执行的语句写到一个sql脚本中,例如:[oracle@i ...
- html嵌套关系
哪些元素可以出现在什么地方,哪一个元素可以被包涵在另一个元素里面,这个都是有规则的 1.块级元素可以包涵行内元素 2.块级元素不一定包涵块级元素 p包涵div是不合法的,在浏览器里面会自动在p里面 ...
- [USACO17FEB]Why Did the Cow Cross the Road II P
嘟嘟嘟 考虑dp. 对于ai,和他能匹配的bj只有9个,所以我们考虑从这9个状态转移. 对于ai 能匹配的一个bj,当前最大的匹配数一定是[1, j - 1]中的最大匹配数 + 1.然后用树状数组维护 ...
- 【转】Android Activity原理以及其子类描述,androidactivity
Android Activity原理以及其子类描述,androidactivity 简介 Activity是Android应用程序组件,实现一个用户交互窗口,我们可以实现布局填充屏幕,也可以实 ...
- doppia代码支持
stixels_t在stixel.hpp里,存储class stixel的vector
- 记安卓appium自动化测试实践
一.软件安装 1. 安装node.js,安装路径D:\Program Files\nodejs\ 可以在官网下载https://nodejs.org/zh-cn/download/,版本号为node- ...
- emmet工具使用和技巧
介绍 在前端开发的过程中,一大部分的工作是写 HTML.CSS 代码.特别是手动编写 HTML 代码的时候,效率会特别低下,因为需要敲打很多尖括号,而且很多标签都需要闭合标签等.于是,就有了 Emme ...
- json sort
Array.sort()方法是用来对数组项进行排序的 ,默认情况下是进行升序排列.sort() 方法可以接受一个 方法为参数. sort()排序时每次比较两个数组项都回执行这个参数,并把两个比较的数组 ...