【问题标题】:Strings, integers, data types字符串、整数、数据类型
【发布时间】:2019-11-29 15:48:44
【问题描述】:

在为自己编写代码几年后,我试图理解它的真正含义。

a = "Foo"
b = ""
c = 5
d = True
  • a - 字符串变量。 "Foo"(带引号)- 字符串文字,即字符串数据类型的实体。
  • b - 字符串变量。 "" - 空字符串。
  • c - 整数变量。 5 - 整数文字,即整数数据类型的实体。
  • d - 布尔变量。 True - 布尔值,即布尔数据类型的实体。

问题:

  • 我的理解正确吗?
  • 看来5是一个整型字面量,是整型数据类型的一个实体。 “整数”和“整数”:为什么我们在这里使用不同的词?
  • 什么是“字符串”和“整数”?

    据我从 Wikipedia 了解到,“字符串”和“整数”与字符串/整数文字或数据类型不同。换句话说,有 3 对或术语:

    • 字符串字面量、整数字面量
    • 字符串数据类型、整数数据类型
    • 字符串、整数

【问题讨论】:

  • 整数数据类型在我所知道的任何语言中都不是标准的东西

标签: string integer terminology


【解决方案1】:

首先,文字值是在代码中出现的任何值,例如 "hello" 是字符串文字,123 是整数文字等。相比之下,例如:

int a = 5;
int b = 2;
int c = a + b;

ab 具有分配给它们的字面值,但 c 没有,它具有分配给它的计算值。

对于任何文字值,我们用它的数据类型(如第一句)来描述文字值,例如“字符串文字”或“整数文字”。

现在数据类型是指计算机或计算机上运行的软件如何解释某些数据的二进制值。对于大多数类型的数据,字节的解释通常在标准中定义。例如,utf-8 是解释字符串内部(二进制)值的 bytes 的一种方法。有趣的是,字符串的实际字节被视为无符号的 8 位整数。在utf-8 中,这些整数的值以各种方式组合在一起,以确定在数据中遇到这些值时应该出现在屏幕上的字形或字符。 utf-8 是一种可变字节长度编码,每个字符可以有 1 到 4 个字节(8 到 32 位)。

对于数字,尤其是整数,实现可能会有所不同,但大多数表示使用四个字节,按顺序最高有效字节在前,第一个字节的第一位作为符号,带符号整数,或者第一位只是无符号整数的最高有效位。这称为big-endian 多字节整数中的字节排序。还有 little-endian 编码,原则上整数可以使用任意数量的字节,但最常见的实现是 1、2、4,有时是 8,其中按位计算有 8、16 , 32 或 64, 分别。对于不属于这些大小的整数大小,通常需要自定义实现。

对于浮点数,它变得有点棘手。浮点数有一个通用标准,称为IEEE-754,它描述了浮点数的编码方式。同样,浮点数也有不同的大小和变化,但在某些移动设备图形实现中,我们主要使用 16、32、64 位,有时还使用 24 位。还有 extended precision 使用 40 或 80 位的浮点数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-07
    • 1970-01-01
    • 2022-01-10
    • 1970-01-01
    • 2021-04-30
    • 2015-02-08
    相关资源
    最近更新 更多