相关疑难解决方法(0)

在C++中将8字节的数组转换为带符号的long

我有一个8字节的数组,我正在尝试将其转换为C++中的有符号长整数,似乎无法弄明白.据我所知,长整数只有4个字节,有人可以提供一些信息吗?如果它是32位还是64位是否重要?

c++ byte long-integer

2
推荐指数
2
解决办法
9798
查看次数

我应该相信C中的短路通常是2个字节吗?

我有一个大数字循环从0到65535(我选择16位只是为了有一个很好的截止点).我正在递增一个int,并且有一个if语句检查int是否为65536.如果是,则将int设置为0; 有点kludgy,但它的工作原理.我知道使用一个短的int并让它溢出会更有效率,但我最初没有这样做,因为短路不能保证是2个字节,这很可能.

这是在linux(ubuntu)机器上运行的C代码.如果我使用短片后来决定在另一个操作系统上运行该程序(或者说,在64位机器上运行它,因为我现在正在测试32位),是否有相当大的机会我的短片仍然是2个字节?我可以在几台不同的机器上轻松测试它,但是这里的一些人已经使用了很多电脑.我应该注意一个可怕的陷阱吗?

c int short

2
推荐指数
2
解决办法
2726
查看次数

c ++最大数字类型

可能重复:
int,long等的大小
`long`保证至少为32位?

我想找出我的计算机的每种数据类型的最大值.代码是:

int main() {
    using namespace std;
    cout << numeric_limits<int>::max() << endl;
    cout << numeric_limits<long>::max() << endl;
    cout << numeric_limits<long long>::max() << endl;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

打印:

2147483647
2147483647
9223372036854775807
Run Code Online (Sandbox Code Playgroud)

问题1:为什么intlong相同?

问题2:上面的输出来自64位的VS2010.我的c ++程序是否以64位运行?

c++

2
推荐指数
1
解决办法
1254
查看次数

变量'dim'(不是数组)周围的堆栈已损坏

我正在尝试使用fstream读取二进制文件,我之前在那里写过一些数据.

问题是在到达函数结束后,将显示主题中的消息

代码如下:

ifstream in("contrib.bin", ios::in | ios::binary );

char *nume, dim;
in.read((char*)&dim, sizeof(int));
nume = new char[dim + 1];
in.read(nume, dim);
nume[dim] = '\0';
double imp;
in.read((char*)&imp, sizeof(double));

delete [] nume;
Run Code Online (Sandbox Code Playgroud)

现在,我已完成我的作业并寻找这个问题,但面对它的其他人有数组,而我的变量是一个简单的字符.

有人能指出我正确的方向吗?

c++ fstream corrupt visual-studio-2010

2
推荐指数
2
解决办法
257
查看次数

C/C++:各种编译器/平台的内置类型的大小

我在哪里可以获得有关Mac OS X(32位和64位)的unsigned int编译大小的信息gcc?一般来说,我希望拥有一个可以使用编译器/设置/平台/类型的资源,并且能够查找该类型的大小.有谁知道这样的事情?

更新:感谢所有回复.我希望在某个地方有更多的东西,而不是我必须在每台机器上编写和运行的代码.

c c++ sizeof built-in

1
推荐指数
3
解决办法
1880
查看次数

是C#32位的int?

我刚刚听说int的大小取决于机器.我一直认为int的大小是32位.有人可以解释这个难题吗?

c#

1
推荐指数
1
解决办法
4104
查看次数

sizeof除了char以外的任何类型都有保证吗?

我知道在C++ sizeof(char)中保证是1,但它是唯一的情况还是有其他内置类型保证具有确切的大小?

特别是语言要求sizeof(bool) == 1还是sizeof(int) == 4要求,还是实施细节?

c++

1
推荐指数
1
解决办法
328
查看次数

将浮点数保存为整数而不损失浮点精度

我想保存f一个以i不擦除浮点数的方式命名的数组的第三个元素中命名的float变量的值(即,我不想保存1而不是1.5)。之后,以我们1.5在输出中看到的方式完成最后一行(不要使用cout<<1.5;cout<<f;类似的技巧!)

float f=1.5;
int i[3];
i[2] = ... ;
cout<<... ; 
Run Code Online (Sandbox Code Playgroud)

有人知道吗?

c++

1
推荐指数
1
解决办法
3183
查看次数

了解int变量如何在C中存储值

考虑下面的C代码:

#include <stdio.h>
int main()
{
    int i = 012;
    printf("%d", i);
}
Run Code Online (Sandbox Code Playgroud)

在O/P上,值i打印为10.我知道(012)8 =(10)10.但我对C如何存储int变量值感到困惑.任何人都可以向我解释一下吗?

c

1
推荐指数
1
解决办法
462
查看次数

数据类型的长度是否取决于计算机的体系结构或您使用的编译器?

我之前读过几次,C 中数据类型的长度取决于 PC 上的体系结构。

但最近我阅读了编译器的文档,该文档指定了您可以访问的数据类型以及该数据类型的长度。

所以我的问题是,数据类型长度取决于您使用的编译器、计算机的体系结构或两者?

c types

1
推荐指数
1
解决办法
113
查看次数

标签 统计

c++ ×6

c ×4

built-in ×1

byte ×1

c# ×1

corrupt ×1

fstream ×1

int ×1

long-integer ×1

short ×1

sizeof ×1

types ×1

visual-studio-2010 ×1