long-long相关内容

为什么 C 编译器将 long 指定为 32 位,将 long long 指定为 64 位?

在 128 位数字成为现实之前制作 64 位长的数字并保留 long long 不是更有意义吗? 解决方案 是的,确实有道理,但微软有自己的理由将“长"定义为 32 位. 据我所知,目前在所有主流系统中,Windows 是唯一一个“长"为 32 位的操作系统.在 Unix 和 Linux 上,它是 64 位. Windows 的所有编译器都会在 Windows 上将“long" ..
发布时间:2021-11-26 14:47:18 其他开发

为什么 C 编译器将 long 指定为 32 位,将 long long 指定为 64 位?

在 128 位数字成为现实之前制作 64 位长的数字并保留 long long 不是更有意义吗? 解决方案 是的,确实有道理,但微软有自己的理由将“长"定义为 32 位. 据我所知,目前在所有主流系统中,Windows 是唯一一个“长"为 32 位的操作系统.在 Unix 和 Linux 上,它是 64 位. Windows 的所有编译器都会在 Windows 上将“long" ..
发布时间:2021-11-24 23:34:41 C#

截断整数除法

如何避免在此代码中截断整数除法?我的排序数组是 1 1 1 1 1 1 ,所以a [0] = 1和a [n]应该是1/2 = 0.5. int main(){长长n,w;scanf(“%lld%lld",& n,& w);long long arr [2 * n];for(long long i = 0; i ..
发布时间:2021-05-01 18:33:33 C/C++开发

如何检查A + B是否过长? (A和B都很长很长)

我有两个数字: A 和 B 。我需要在代码中的某处计算 A + B 。 A 和 B 都是 long long ,他们可以是正面还是负面。 我的代码运行错误,我怀疑在计算 A + B 。我只是想检查 A + B 是否超过 long long 个范围。因此,任何方法都是可以接受的,因为我仅将其用于调试。 解决方案 仅当两个数字相同时才可能溢出标志。如果两者均为正,则数学上 A + B> ..
发布时间:2020-09-27 00:53:21 C/C++开发

以C为模的大数的幂

我正在使用以下函数来计算以m为模的大数的幂,其中m是任何整数,即(a ^ b)%m long long power(long long x,long long y,long long p) { long long res = 1; //初始化结果 x = x%p; //更新x如果大于或等于 //等于p 而(y> 0) { //如果y为奇数,如果(y& 1) res ..
发布时间:2020-06-03 21:30:08 其他开发

long long vs int乘法

给出以下代码段: #include typedef signed long long int64; typedef signed int int32; typedef signed char int8; int main() { printf("%i\n", sizeof(int8)); printf("%i\n", sizeof(int32)); ..
发布时间:2020-05-13 19:19:01 其他开发

在PIC上使用long long时的舍入问题

我正在PIC单片机上做一些简单的数学运算,用C语言运行代码,并使用MPLABX和xc16编译器.这是代码: double mydouble = 0.019440; long long int mypower = 281474976710656; long long int result = mypower*mydouble; 打印出“结果"后,我得到了5,471,873,794,048 ..
发布时间:2020-05-06 10:53:48 其他开发

令人不安用C长长转换字符串

我遇到麻烦环礁功能正确设置在C长长的价值。这是我的例子: 的#include<&stdio.h中GT;诠释主要(无效){ 个char [30] = {“115”}; 长长的T =环礁(S); 的printf(“Value是:%LLD \\ n”,T); 返回0; } 这将打印: 值为:0 这工作虽然:的printf(“Value是:%LLD \\ n”,环 ..
发布时间:2016-08-19 13:43:06 C/C++

C编译器为什么指定长为32位和long long是64位?

那岂不是更有意义,使长64位和长长的保留,直到128位的数字成为现实? 解决方案 是的,这有一定道理,但微软有自己的理由定义为32位“长”。 据我所知,所有现在主流的系统,Windows是“长”是32位的唯一操作系统。在Unix和Linux,它是64位的。 对于Windows所有的编译器编译“长”在Windows 32位,以保持与微软的兼容。 由于这个原因,我避免使用“Int”和“长 ..
发布时间:2016-08-18 23:19:20 C/C++

我应该使用long long或为的int64_t便携式code?

我有一个是写在C和C ++的开放源代码codeBase的。我在寻找这是保证是一个整数类型的至少的64位宽,可与开源的C可靠地编上最OS X(英特尔64位)和Linux系统和C ++编译器,而对最终用户的部分太多额外的工作。 Windows和32位客户端的支持并不重要,在这个时候。 我没有在OS X上一些测试,并附带的开发工具不支持C + 11模式(因此似乎并不保证长长)。锵不支持此项工作,要么, ..
发布时间:2016-08-18 23:13:18 C/C++开发

sprintf的无符号_int64

我有以下code。在sprintf的第二个%的D输出始终显示为零。我想我是错了指定符。任何一个可以帮助我获得写入字符串正确的价值观。而这已在POSIX标准实现。感谢您的输入 无效的主要(){ 无符号_int64 dbFileSize = 99; 无符号_int64档案大小= 100; CHAR BUF [128]; memset的(BUF,0×00,128); ..
发布时间:2016-08-17 22:30:53 C/C++开发

你怎么printf的一个unsigned long long int类型(格式说明符无符号长长整型)?

的#include<&stdio.h中GT; 诠释主(){ 无符号长长整型NUM = 285212672; //供参考:适合在29位 INT normalInt = 5; 输出(“我的号码是%d字节宽,其值为%UL正常数量为%d \\ n。”的sizeof(NUM),NUM,normalInt); 返回0; } 输出:我的号码是8个字节宽,其值为28521 ..
发布时间:2016-08-17 21:10:07 C/C++