long long int型使用

Posted cocobear9

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了long long int型使用相关的知识,希望对你有一定的参考价值。

1
2
3
4
5
6
类型名称        字节数         取值范围
signed char               1           -128~+127
short int                  2           -32768~+32767
int                          4        -2147483648~+2147483647
long int                   4        -2147483648~+2141483647
long long  int     8      -9223372036854775808~+9223372036854775807

longlong int 输入要用%lld,输出也要用%lld,取绝对值用llabs();

long int  输入用%ld,输出也用%ld,取绝对值用labs();

int 取绝对值用abs();

flloat 取绝对值用fabs();

64位编译器:

int: 4个字节

long: 8个字节

long long: 8个字节

unsigned long: 8个字节

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
unsigned int  (unsigned long
4字节8位可表达位数:2^32=42 9496 7296 
范围:0 ~ 42 9496 7295 (42*10^8) 
 
int  long
4字节8位可表达位数:2^32=42 9496 7296 
范围:-21 4748 3648 ~ 21 4748 3647 (21*10^8)
 
long long (__int64)
8字节8位可表达位数:2^64=1844 6744 0737 0960 0000 
范围:-922 3372 0368 5477 5808 ~ 922 3372 0368 5477 5807 (922*10^16)
 
unsigned long (unsigned __int64)
8字节8位可表达位数:2^64=1844 6744 0737 0960 0000 
范围:0 ~ 1844 6744 0737 0955 1615 (1844*10^16)

题目:矩阵面积 PS.题目很简单但是不太懂long long int类型的输入还有绝对值捣鼓了好久 = =~

题目描述

两个坐标点能确定一个矩形,请按矩形的面积大小进行排序输出。

 

输入

 每一行给出两个坐标点,表示一个矩形。
不超过100个矩形。

 

输出

请按要求输出面积。


 

样例输入

1 2 3 4
1 0 2 3
2 1 3 1
2 8 7 1

 

样例输出

0
3
4
35

 

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{

long long int x0,x1,y0,y1,temp;
long long int i,j;
long long int a[10000];
long long int num=0;
while(scanf("%lld%lld%lld%lld",&x0,&y0,&x1,&y1)!=EOF)
{
a[num++]=llabs((x1-x0)*(y1-y0));
// printf("%d ",a[num-1]);
}
for(i=0;i<num-1;i++)
{
for(j=0;j<num-i-1;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
for(i=0;i<num;i++)
{
printf("%lld ",a[i]);
}

}

 

以上是关于long long int型使用的主要内容,如果未能解决你的问题,请参考以下文章

java long型计算问题

java中long型如何转换为int型?还有long[ ]可以转换为int吗?

Java中long(Long)与int(Integer)之间的转换(转)

int 与long int类型转换

如何将有符号的long型转换成无符号的long型

Java中怎么将Long类型转换成Integer或int类型?