1,请教关于长整型变量

第1个.乘数过大呵..第2个.能运行的原因是中间有小数.VB将运算提高到精度型了.^&^是我想的..
大概就像楼上说的,应该可以这样:指定常量类型dim c as longc=16384& * 2&
可以用强制转换, int i=178; printf("ld%",long(i));//将变量强制转成long型

请教关于长整型变量

2,十进制长整形

158得到158L就是直接加个L (太容易到你不敢相信么) 就是比如你要一个很大很大的数,表示淘宝从开到现在一共卖了多少件东西, 那么整数是肯定不够的,这个时候就用长整型. (如果长整型不够,还有大整数库..)
不是一个东西。普通的整型在32位和64位机上就是一个32字节的整数。长整型在32位机上是32位,但在64位机上是64位。十进制只是一种对外呈现的方式而已。同一个数,无论你看到的是十进制还是二进制,其在内存中的存储都是一样的。
L这只是一个符号,代表这个数是长整型的,如果你要不写则默认为整型的、
写158是整型 写158L是长整型(L代表long)

十进制长整形

3,关于C语言中长整型数

1.长整型:有符号整数;满足sizeof(long)>=sizeof(int),一般32位平台sizeof(long)为4;此外由于sizeof(short)<=sizeof(int),所以sizeof(long)>=sizeof(short)。 2.常量:不能被修改。常量在c语言中是数值字面量。字面量后缀为l或l,表示long,例如1234l、0l。如果不带后缀,默认为int字面量而不是long字面量,即不是长整型常量。
1.长整型:有符号整数;满足sizeof(long)>=sizeof(int),一般32位平台sizeof(long)为4;此外由于sizeof(short)<=sizeof(int),所以sizeof(long)>=sizeof(short)。 2.常量:不能被修改。 常量在c语言中是数值字面量。字面量后缀为l或l,表示long,例如1234l、0l。如果不带后缀,默认为int字面量而不是long字面量,即不是长整型常量。 ==== [原创回答团]

关于C语言中长整型数

4,长整型 范围怎么算

这样理解:long一般都是4字节的,也就是32bit的(分别编号为0、1、...30、31)。最高位(即编号为31的位)是符号位,此位是1表示负数,为0表示正数。 最大正数就是0到30位都是1,31位是0。比如 0111 1111 1111 1111 1111 1111 1111 1111 换算成十进制就是2^0 + 2^1 ...+ 2^29 + 2^30 = 2^31 - 1 负数-1表示成二进制就是 1111 1111 1111 1111 1111 1111 1111 1111 换算成十进制就是 -2^31 + 2^0 + 2^1...+2^30 = -1 故最小的负数二进制形式为: 1000 0000 0000 0000 0000 0000 0000 0000 即为-2^31 + 0 + 0.....= -2^31。
long一般都是4字节的,也就是32bit的(分别编号为0、1、...30、31)。最高位(即编号为31的位)是符号位,此位是1表示负数,为0表示正数。 最大正数就是0到30位都是1,31位是0。 形如 0111 1111 1111 1111 1111 1111 1111 1111 换算成十进制就是2^0 + 2^1 ...+ 2^29 + 2^30 = 2^31 - 1 负数-1表示成二进制就是 1111 1111 1111 1111 1111 1111 1111 1111 换算成十进制就是 -2^31 + 2^0 + 2^1...+2^30 = -1 故最小的负数二进制形式为: 1000 0000 0000 0000 0000 0000 0000 0000 即为-2^31 + 0 + 0.....= -2^31。
比如我要处理的数字都在-10000到+10000之间,在内存中用2个字节就够用,如果用长整型(假设是4字节)来存放,就有浪费 因此如果都用最大的来编程,会浪费内存的,以前的内存可不是现在这样大,还便宜. 所以才有这么多的类型

文章TAG:长整型有多少十进制位数长整型  多少  十进制  
下一篇