c - 在 C 中将 long 类型转换为 int 和 short
问题描述
long x = <some value>
int y = <some value>
我想从 x 中减去 y ,以下哪一项会给我不同或相同的结果
x = (int)x - y;
x = x-y
x = short(x) - short(y)
解决方案
类型long
比int
. 较小的类型可以自动转换为较大的类型。所以,这段代码:
someLongNumber + someIntNumber
基本上等于
someLongNumber + (long)someIntNumber
所以输出将是long
. 如果要将结果放入x
. 但是,如果要将其放入y
,则必须将x
操作数强制转换为int
( (int)x
),或整个操作 ( (int)(x - y)
)。
推荐阅读
- vba - 使用多个条件的 DCount
- actions-on-google - 提示输入所需参数时清除用户存储
- python - 在 tf.data.Datasets.from_generator 中将多个参数传递给生成器
- c# - 在 LINQ 中将循环缩短为一个 QUERY
- php - 在特定条件下停止执行 cron 作业
- apache - apache将重定向从http重定向到https
- javascript - 通过锚链接后向下滚动页面
- html - a:在 Bootstrap 4 中的定位与 Boostrap 3 不同
- php - PHP 是否以任何方式取代 jQuery?
- angularjs - 如何使用 angularjs 操作导航栏引导程序 4 崩溃?