当前位置:  开发笔记 > 编程语言 > 正文

为什么Visual Studio没有将无符号值显示为int?

如何解决《为什么VisualStudio没有将无符号值显示为int?》经验,为你挑选了2个好方法。

我正在使用VS 2012,而我正在读这本教授C\C++基础的书.这本书很老了,它不是在VS中教,而是在Borland C++中教.本课程教授如何将无符号值转换为int.在书中,它表示int数字的值为-32768和32767,无符号的值为0到65535.在书中给出了数字42000,并显示为unsigned42000和int-23536.在VS中,它显示了as unsignedint42000.

#include 
void main(void)
{
    unsigned int value = 42000;

    printf("Show 42000 as unsigned %u\n", value);
    printf("Show 42000 as int %d\n", value);

}

输出:

Show 42000 as unsigned 42000
Show 42000 as int 42000

附注:尝试都%d%i; 没用.



1> Eugene..:

你的旧书给出了16位int和16位的范围unsigned.较新的编译器使用以太网32位或64位.



2> Bathsheba..:
烧那本书.这永远不正确.

a的最小范围int是-32767到+32767,因为它可能是1的补码16位数.

未指定最大范围.

VS通常使用32位2的补码值int.

顺便说一句,使用%dfor 的行为unsigned未定义的.如果您编写并编译代码,则编译器保留吃猫的权利.如果该书使用了该构造并声称它是便携式的,那么再次刻录它.

推荐阅读
臭小子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有