Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C中什么时候发生类型转换_C_Type Conversion_Integer Promotion - Fatal编程技术网

在C中什么时候发生类型转换

在C中什么时候发生类型转换,c,type-conversion,integer-promotion,C,Type Conversion,Integer Promotion,我有以下问题:例如,我给出了代码: uint8_t a = 0x30; uint16_t b = a << 8; uint8\u t a=0x30; uint16_t b=a在表达式树中,C中的表达式计算是自底向上的,也就是说,在您的案例中,C中的表达式计算是自底向上的,也就是说在您的案例中a C!=C++。首先决定你实际使用的语言,只使用那种语言。C还是C++?它们是两种完全不同的语言,尤其是在语义方面。这种行为是否取决于它的c语言或c++语言。即使没有,选择一种语言也会更容易找

我有以下问题:例如,我给出了代码:

uint8_t a = 0x30;
uint16_t b = a << 8;
uint8\u t a=0x30;


uint16_t b=a在表达式树中,C中的表达式计算是自底向上的,也就是说,在您的案例中,C中的表达式计算是自底向上的,也就是说在您的案例中
a C!=C++。首先决定你实际使用的语言,只使用那种语言。C还是C++?它们是两种完全不同的语言,尤其是在语义方面。这种行为是否取决于它的c语言或c++语言。即使没有,选择一种语言也会更容易找到重复的或指向引用的链接。现在,当你选择一种语言时,我推荐你,特别是关于.C!=C++。首先决定你实际使用的语言,只使用那种语言。C还是C++?它们是两种完全不同的语言,尤其是在语义方面。这种行为是否取决于它的c语言或c++语言。即使不是这样,选择一种语言也会更容易找到重复的或指向引用的链接。现在,当你选择一种语言时,我推荐你,尤其是关于的那一节。因此,在任何操作数比int更窄的算术运算中,它在执行操作之前被提升为int?如果int是16位,a是0xF0会发生什么?在哪一点会出错?左移位会将1移到符号位,这是不允许的。因此,在任何操作数比int窄的算术运算中,在执行该运算之前,它会被提升到int?如果int为16位,a为0xF0,会发生什么情况?在哪一点会出错?左移位会将1移位到符号位,这是不允许的。