- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
C 2018 标准为 '\xFF'
等十六进制转义序列的值指定了什么?
考虑一个 C 实现,其中 char
有符号和八位。
第 6.4.4.4 节告诉我们有关字符常量的信息。在第 6 段中,它讨论了十六进制转义序列:
The hexadecimal digits that follow the backslash and the letter x in a hexadecimal escape sequence are taken to be part of the construction of a single character for an integer character constant or of a single wide character for a wide character constant. The numerical value of the hexadecimal integer so formed specifies the value of the desired character or wide character.
\xFF
用于
'\xFF'
, 是文法中的 c-char (6.4.4.4 1),而
'\xFF'
是一个整数字符常量。根据 6.4.4.4 2,“整数字符常量是用单引号括起来的一个或多个多字节字符的序列,如
'x' 。”
The value of an octal or hexadecimal escape sequence shall be in the range of representable values for the corresponding type:
unsigned char
.
unsigned char
的范围内。 .
(i) An integer character constant has type int.
(ii) The value of an integer character constant containing a single character that maps to a single-byte execution character is the numerical value of the representation of the mapped character interpreted as an integer.
(iii) The value of an integer character constant containing more than one character (e.g., ’ab’ ), or containing a character or escape sequence that does not map to a single-byte execution character, is implementation-defined.
(iv) If an integer character constant contains a single character or escape sequence, its value is the one that results when an object with type char whose value is that of the single character or escape sequence is converted to type int.
'\xFF'
是那个字符的值。这是标准中第一次使用“ map ”;它没有在别处定义。除了从到目前为止派生的值 (255) 到具有相同值的执行字符的映射之外,它是否意味着其他任何东西?如果是这样,对于(ii)应用,必须有一个值为 255 的执行字符。那么值
'\xFF'
将是 255。
'\xFF'
是实现定义的。
'\xFF'
的值是
char
的值值为 255 的对象,随后转换为
int
.但是,由于
char
有符号和八位,没有
char
其值为 255 的对象。所以第四句陈述了不可能。
最佳答案
您的演示得出了一个有趣的结论:
There is no portable way to write character constants with values outside the range
0
..CHAR_MAX
. This is not necessarily a problem for single characters as one can use integers in place of character constants, but there is no such alternative for string constants.
char
为了与许多标准 C 库函数保持一致,默认情况下应始终未签名:
fgetc()
返回 int
负值 EOF
失败和 unsigned char
的值如果一个字节被成功读取。因此fgetc() == '\xFF'
的意义和作用是实现定义的。<ctype.h>
的函数接受 int
参数与 fgetc()
返回的值相同.传递负值 char
值具有未定义的行为。strcmp()
并根据转换为 unsigned char
的字符值比较字符串.'\xFF'
可能具有值 -1
这是完全不直观的,可能与 EOF
的值相同。 .char
默认情况下签名是与旧编译器兼容的历史代码,这些代码依赖于这种行为并且是在
signed char
出现之前编写的。 ,大约 30 年前!
-funsigned-char
制作
char
默认情况下未签名并使用
signed char
或更好
int8_t
如果需要带符号的 8 位变量和结构成员。
char
值应转换为
(unsigned char)
char
的签名在哪里可能会带来问题:例如:
char str[] = "Hello world\n";
for (int i = 0; str[i]; i++)
str[i] = tolower((unsigned char)str[i]);
关于c - C 标准为带有十六进制转义序列的字符常量的值指定了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56485088/
我试图为此搜索答案,但我发现很难找到这种“确切”的例子。我对指向指针的指针知之甚少,我觉得除了指向某物的指针之外,还有更多东西隐藏在它的表层之下。 那么你们会如何翻译呢? void free(sham
我有一个类的属性,比如const CFoo &bar() const,这是什么意思? 最佳答案 bar 方法返回对 const CFoo 的引用(即 bar 之前的 const CFoo & 部分),
例如是 int const x = 3; 有效代码? 如果是的话,意思是一样的 const int x = 3; ? 最佳答案 它们都是有效的代码并且它们都是等价的。对于指针类型,尽管它们都是有效代码
我知道 f(const T& obj) // (1) g(T const& obj) // (2) 是一样的。(我们不能改变f和g中obj的值)。 但是什么 h(T & const) // (3) 真
本节讲解的内容 include和include_once require和require_once 常量 引入文件和常量结合案列 变量操作函数 输出语句 前言 在上篇文章中,我们讨论了函数的应用,但是
我们知道我们可以保护变量的值,因此用户无法更改现有变量的值!这对对象来说没有什么问题吗?? 例如.. const x = 5; x = 10; alert(x) // will be returned
我正准备为 CUDA 设备编写直方图内核。它基于 NVIDIA's paper . 这个想法是每个线程计算某个部分(在我的例子中是体积)的部分直方图并将其写入共享内存块。然而,我遇到了一个奇怪的算法问
常量是固定值,程序执行期间不会改变。常量可以是任何基本数据类型,比如整数常量、浮点常量、字符常量或者字符串常量,还有枚举常量。 常量可以被当作常规的变量,只是它们的值在定义后不能被修改。 整数常
在这种情况下,如何识别是否有变量或字面量传递给函数 f()? 如何实现passed_as_constant()检查(见下面代码)? sub f { my $refStr=\$_[0]; ret
我目前想知道如何在 python 中列出 win32com 中的常量, 例如使用 excel win32com.client.Dispatch('Excel.Application') 有没有办法使用
这个问题在这里已经有了答案: PHP | define() vs. const (9 个回答) 关闭8年前。 在 PHP 中遇到常量问题想知道是否有人可以解释: 这行得通 const _ROOT =
我正在学习 Rust,到目前为止,似乎有 3 种声明变量的方法: const A: u8 = 42; static A: u8 = 42; let A: u8 = 42; 我知道你不能有一个可变的 c
我正在使用函数模板 void _createAttr(T)(args..., in T[]) 并使用 测试 T 的类型函数中的 static if(is(T == char)) 。当我打电话时, _c
这可能是一个天真的问题,我怀疑答案是"is",但我没有运气在这里和其他地方搜索“erlang编译器优化常量”等术语。无论如何,erlang 编译器是否可以(将)在编译时创建一个常量或文字的数据结构,并
我刚遇到这段 Java 脚本代码: const { myKey, uname, issorted, title, hClick, } = this.props; 请告诉我这是什么意
我正在努力实现以下目标: 我有一个父类,有一些逻辑。在子类中,我“重新定义”常量/属性。有没有办法让子属性可以通过父类中定义的方法访问?或者更具体地说 - 有什么方法可以强制“out”方法在下面的示例
如果这是个愚蠢的问题,请原谅。 我有一个带有内部类接口(interface)的“fragment ”外部类。该接口(interface)仅由另一个 Activity 类使用“implements Ou
我是 python 新手,尝试使用默认值并为类实例自定义它们。 因此,在这个示例中,我定义了一个 DEFAULT_STRING 和一个 DEFAULT_SETTINGS 变量,可以使用 customi
在 integer.xml 中,其形式为 0x001 0x002 是代码和 xml 文件都需要的存储常量。 C# 识别 Droid.Resource.Integer.foo,但它有一些大的
是否有跨平台(即跨 Linux、BSD 和 OS X,最好是所有 POSIX)我可以纯粹基于字符串 以编程方式访问诸如 O_RDWR 之类的常量>“O_RDWR”?我正在编写一些(非 C)代码,这些代
我是一名优秀的程序员,十分优秀!