您的位置:首页 > 其它

他们移动数据周围的块

2016-06-14 15:42 253 查看
如果您使用的是不同类型的机器,或不同的编译器,您的结果可能会有所不同。注意,你不能把sizeof void类型,因为它没有大小(这样做将导致一个编译错误)。

如果你想知道什么是在上面的程序,它是一个特殊的符号,插入一个标签(在例子中,我们使用它来调整输出列)。当我们谈论有关字符数据类型时,我们将覆盖'吨'和其他特殊符号。

有趣的是,sizeof运算符是C++中的一个词,而不是一个符号只有三大运营商。另一个是新的,删除。
你也可以使用sizeof运算符在变量名:

1
2
int x;
cout << "x is " << sizeof(x) << " bytes"<<endl;
x is 4 bytes

计算机工作的二进制位(位)移动。然而,大多数的计算机都不工作与个人的位-相反,他们移动数据周围的块。这个词块大小被称为“词”。通常,当我们谈到一台机器的时候,我们会说一个字的大小。因此,32位的机器有一个32位的字大小,这意味着它的信息围绕32位的时间。

典型地,现代计算机用一个词来称呼记忆。用一个32位的话,这意味着大约有32个2(40亿)的独特的内存地址,可以解决。这就是为什么32位机一般不会使用超过4GB的内存。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>

int main()
{
std::cout << "Enter an integer: ";
int x;
std::cin >> x;

std::cout << "Enter another integer: ";
int y;
std::cin >> y;

if (x == y)
std::cout << x << " equals " << y << "\n";
if (x != y)
std::cout << x << " does not equal " << y << "\n";
if (x > y)
std::cout << x << " is greater than " << y << "\n";
if (x < y)
std::cout << x << " is less than " << y << "\n";
if (x >= y)
std::cout << x << " is greater than or equal to " << y << "\n";
if (x <= y)
std::cout << x << " is less than or equal to " << y << "\n";

return 0;
}

当比较整数时,这些运算符是非常简单的。

浮点值比较

直接比较浮点值,使用这些操作符是危险的。这是因为浮点运算数中的小的进位数可能会导致意外的结果。我们讨论了在第2.5节中详细讨论的四舍五入-浮点数。

这里的一个例子的四舍五入错误造成意想不到的结果
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: