[关闭]
@CrazyHenry 2018-01-23T13:13:22.000000Z 字数 348 阅读 1477

2.x 有符号数赋值给无符号数

ccccC++Primer


准确的标题实际上应该是:

无符号数赋值一个超过它表示范围的值

image.png-34.8kB

image.png-167.9kB

IMG_20171210_202954.jpg-2391.6kB
在这个过程中,实际上是发生了有符号数到无符号数的转换,并涉及补码之类的转换,然后截断。(实际上int型在内存中是以补码的形式存储)(有符号类型在内存中都以补码的形式存储)
但是,如果是正数,超过范围呢?不会有补码转换(因为正数的原、反、补码相同),但是可以想见,只会被截断:
image.png-71.9kB

image.png-144kB

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注