想深入了解C的,入来一起研究下.
我是想问问,short(16位),long(32位),long long(64位),int(16位,32位,64位)...我主要想问int是根据什么而定多少位的?
自己的实践:在32位系统用VC++编译器和Dev cpp编译器测试,和64位系统用VC++编译器和Dev cpp编译器测试,只得出一个答案:int的位数是根据编译器而定的. 是吗?我一直都没有搞懂.希望大家能帮下我.如下图:
64位系统用Dev cpp编译器测试:
32位系统用Dev cpp编译器测试:
32位和64位系统用VC++编译器(不支持long long 类型)同一个结果:
既然你知道是由编译器决定而非系统决定,那就很好理解了啊,dev-cpp用的明显是32位的mingw,在64位Windows中是兼容32位的,正如32位Windows兼容16位子系统;
VC6更不用说了,根本没有64位编译器,而且VC6的long long应该用_int64
你试试VS2005、VS2008的x64编译器,结果就不一样了
http://topic.csdn.net/u/20090626/17/dbca5fb5-22c2-4d6b-ae89-08d938679077.html
和编译器和系统都有关系
和机器的关系仅限于——你的机器支不支持这种编译器,具体的数据完全由编译器决定
你不要从编译器的角度去看待int的大小,编译器给出的只是一个实现。
C/C++标准并没有明确规定int应该有多大,只规定了int应该至少跟short一样长,至于具体如何实现,各编译器可以根据自己的环境去决定,这就给了编译器很大的自由度进行优化。但一般来说,编译器的设计更倾向于让int等于当前执行环境中与cpu模式使用的数据大小相等的长度。
The rank of long long int shall be greater than the rank of long int, wh
相关问答:
13个人围成一圈,从第一个人开始顺序报号1,2,3。凡报到3者退出圈子,找出最后留在圈子中的人原来的序号
结果应该是13 可我的程序的结果是11 希望好心人帮改一下
#include <stdio.h>
#include < ......
你们现在还在用C吗?C有前途吗?
一定,并永远坚持
引用
一定,并永远坚持
顶
有用。
楼主何出此言
楼主来c版问这个问题是踢馆用意吗哈哈
越来越冷是肯定的,完全淘汰倒也没那么容易
c ......
6月5日消息,XX网站日前评出了10项大势已去的计算机技术。其中,有些技术已经被淘汰,有些即将被淘汰。如著名的Cobol语言,以及IBM的OS/2系统。
以下为XX网站评出的被淘汰的10项计算机技术:
......
'\108'作为字符常量对不对?
转义字符'\ddd'表示3位8进制所代表的字符。 但是108不是正确的8进制表示方法,因此应该是错误的。
但是char a='\108'; 为什么编译不出错呢?
\108 没超过 ......
用这本书入门怎么样呢 跟谭浩强的相比如何? 谢谢
我把这本看了几篇,确实很好的书。就不要拿它跟 谭 的书比了, 谭 的书要照顾全国读者。
不可同日而语
一个是国外的,一个是国内的
学完c primer ......