想问个问题 本人刚学 请不要见笑
c语言吧
全部回复
仅看楼主
level 4
戒邦九戒
楼主
书上说int类型的取值范围是-32768~32767 我刚才在vs2010上试了一下 我设了int a,b; 然后另a=32767,b=10+a;输出b 为什么 b会输出32777的?不是应该是-32758吗?
2012年05月16日 06点05分
1
level 4
戒邦九戒
楼主
这样的话不是默认是long?
2012年05月16日 06点05分
3
level 4
戒邦九戒
楼主
还真的是 我把a改为2147483647就是合理的输出了负值了 谢谢哈
2012年05月16日 06点05分
5
level 4
戒邦九戒
楼主
哥们 还想问个问题 那这样的话 每次设变量类型 干嘛不往大了设 取值范围越大 就越不会遇到溢出 int类型设成long float设成long double不是更好?
2012年05月16日 07点05分
6
level 10
Geodesic
这个与机器有关。在我的机器上,unsigned short 是2个字节,long 和int都是4个字节
你可以自己输出sizeof(int)看一下
2012年05月16日 07点05分
8
level 4
戒邦九戒
楼主
嗯 浮点型的是有精度问题 那整数类型呢?
2012年05月16日 07点05分
9
level 4
戒邦九戒
楼主
这个应该和字节没有关系吧 我是吧占用字节少的设置成占用字节多的类型 前面多的几位应该会自动补0吧?
2012年05月16日 07点05分
10
level 4
戒邦九戒
楼主
嗯 那就是说所有可以用int的都可以用long了?
2012年05月16日 07点05分
13
level 10
Geodesic
我是说在我的机器上,你用什么看你自己的机器去
2012年05月16日 07点05分
14
level 13
我变成鱼了
速度问题 内存问题
2012年05月16日 07点05分
16
level 11
EAgleLeo
limits.h
2012年05月16日 07点05分
17
level 12
zyb18229867145
在一般PC下,women不用节约系统资源,可以随便,但是在某些特殊的环境,如单片机中,一般都用unsigned char,连int都少用。。。
2012年05月16日 07点05分
18
level 4
戒邦九戒
楼主
哦 原来是从这个角度考虑的 谢谢
2012年05月16日 07点05分
19
level 4
ly120710306
鸭子路过,一遍路过,一遍听雷
2012年05月16日 08点05分
20
level 7
fcjxppt
C语言定义int型跟CPU字长有关
2012年05月16日 09点05分
21
level 10
baoshanzyjun
一般根据实际需要来确定类型,各个类型是有区别的,还有就是从速度与内存上考虑!
2012年05月16日 12点05分
22
level 8
神百连life
这个我听老师说要学 【补码】 学了补码我再详细研究这个问题
2012年05月16日 22点05分
23
level 15
幻の上帝
换书。
假定int大小已经脑残了。都什么年代了还假定16位。
2012年05月16日 22点05分
24
level 13
寒云似雾
假定int为32位,范围x~y,假定16位,范围x~y... 虽说用假设更好,但是懒得管了...
用古老的系统和编译器的人是可以假定16位的...
PS:
好似最近都自己typedef一大堆东西的路过
全部无符号整数+C-style-cast
2012年05月16日 23点05分
25
1