1LL随手记(1LL是什么,1LL怎么用)

简介: 1LL随手记(1LL是什么,1LL怎么用)

前言

最近刷题的时候遇到了一个问题,是关于变量在运算过程(并不是最终结果)中超出其变量范围引起的错误,故写此文章。


一、什么时候需要1LL

这里举个例子,比如我一个int类型的数据需要进行一个运算 100000*100000/1000,虽然我最后算出的结果不超过int(只有16位编译器的unsigned int 是65535,现在是4294967295),但是在我运算的过程里(进行除法之前)超过了int类型的范围,这时候我们就需要强制类型转换来消除错误,但一直强制转换会有些麻烦,这个时候用1LL就方便了。

二、如何使用1LL

1. #include <stdio.h>
2. #include <stdlib.h>
3. 
4. int main()
5. {
6. int a = 100000 * 100000 / 1000;
7. printf("%d", a);
8. system("pause");
9. return 0;
10. }

这里明显是答案错误,说明这句话是会超出范围的,当然我们可以通过强制转换类型达到效果,只不过最后还要转回成int类型过于麻烦,这里我们就使用1LL,具体看下面。

1. #include <stdio.h>
2. #include <stdlib.h>
3. 
4. int main()
5. {
6. int a = 1LL * 100000 * 100000 / 1000;
7. printf("%d", a);
8. system("pause");
9. return 0;
10. }

这时候就运行正确了,1LL会在运算时把后面的临时数据扩容成long long类型,再在赋值给左边时转回int类型。

相关文章
|
4月前
|
Shell
9-9|tree如何实现ll的效果
9-9|tree如何实现ll的效果
|
JavaScript
遇到这几个 JS “神(qi)奇(pa)“写法也是醉了......
本篇带来 JS 几个“神奇”设计,先别急着吐槽,有遇到过加强更正,没遇到过以后尽量避免! 奥力给,冲了!🏄‍
|
前端开发
今日一题 - 请模拟实现一个Promise.all() 方法?
Promise.all()方法用于将多个 Promise 实例,包装成一个新的 Promise 实例。 Promise.all()方法的参数可以不是数组,但必须具有 Iterator 接口(所以数组、Map、Set都可以),并且只返回一个Promise实例,输入的所有promise的resolve回调的结果会按传入的按顺序作为一个数组的其中一项返回。 当然也支持非promise对象的传入,会作为数组中的一项返回。
171 0
今日一题 - 请模拟实现一个Promise.all() 方法?
|
前端开发
前端项目实战71-promise.all使用
前端项目实战71-promise.all使用
78 0
前端项目实战71-promise.all使用
|
前端开发
promise.all()的用法和相关面试题
promise.all()的用法和相关面试题
|
前端开发 安全
面试官:Promise.all有实现过吗
面试官:Promise.all有实现过吗
|
前端开发 JavaScript
Promise.all() 原理解析及使用指南
Promise 对象是ECMAScript 6中新增的对象,主要将 JavaScript 中的异步处理对象和处理规则进行了规范化。前面介绍了《Promise.any() 原理解析及使用指南》,本文来介绍另一个方法 Promise.all(promises) ,能够一次并行处理多个 promise,并且只返回一个 promise 实例, 那个输入的所有 promise 的 resolve 回调的结果是一个数组。
696 0
Promise.all() 原理解析及使用指南
|
Java API PHP
震惊 PHP4 里的 preg_replace_callback Java9 才跟上,PHP亲密度 +1
前几日因为日志输出量大,但是很多时候又还想用日志来做兜底逻辑的查询,所以想增加一个异步事件监听去做字符串截取。想起了 preg_replace_callback
203 0
震惊 PHP4 里的 preg_replace_callback Java9 才跟上,PHP亲密度 +1
|
存储 安全 NoSQL
[PWN][进阶篇]Rop-Ret2Text介绍及实例教学
[PWN][进阶篇]Rop-Ret2Text介绍及实例教学
658 0
[PWN][进阶篇]Rop-Ret2Text介绍及实例教学

热门文章

最新文章

下一篇
开通oss服务