Unintended sign extension

Posted cleverlzc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unintended sign extension相关的知识,希望对你有一定的参考价值。

 

 

符号扩展包括:

  1. Integral promotion

    charshort, enumerated type, or bit-field, whether signed or unsigned, can be used in any expression that calls for an int. If an int can hold all possible values of the original type, the value is converted to an int. Otherwise, it is converted to an unsigned int.

  2. Conversion between signed and unsigned integers

    When a negative signed integer is promoted to an unsigned integer of the same or larger type, it is first promoted to the signed equivalent of the larger type, then converted to the unsigned value.

 

修复方法:强转

To fix unintended sign extension problems, you must use explicit casting to achieve the intended results.

 

关于“无意的符号扩展”,这里有篇文章讲的很详细

http://docs.oracle.com/cd/E19253-01/816-5138/convert-2/index.html

 

以上是关于Unintended sign extension的主要内容,如果未能解决你的问题,请参考以下文章

windows下的PHP使用openssl

sign in 和 sign up 的区别

SIGN(x)

oracle 的sign函数

sign和signal分别是啥意思

ASIC设计中的sign-off