当前位置: 首页 > 编程日记 > 正文

printf(%d, -10u); 这个输出什么呀, 0或1?

printf("%d", -1<0u); 这个输出什么呀, 0或1?

周银辉

既然我这么问了, 那么答案自然不是1,而是0
看看下面的代码:

对于-1+0u输出为-1,似乎理所当然,但为什么-1<0u却输出0呢,也就是说-1不小于0u,好神奇啊

一个解释是:“当执行一个运算时, 如果它的一个运算数是有符号的而另一个是无符号的,那么C会隐含地将有符号参数强制类型转换为无符号数,并假设这两个数都是非负的,来执行这个运算” (来自《深入理解计算机系统(修订版)49页》),-1的有符号表示为1111....1111(N个1,N取决于位宽,我们假设32个吧),如果强制解释为无符号数,那么就是2^32: 4294967296 ,当然比0大咯,所以输出0(false)
当,我晕,在执行-1+0u运算时,C似乎又不愿意采用这种方式了,而是(我猜的)将0u采用“零扩展”的方式向上转型为有符号数的0,那么-1+0,就自然得到-1了

这两种解释似乎是矛盾的, 我很奇怪在运算-1<0u时为啥不用“零扩展”向上转型,而输出1呢,我们也希望得到1,对吧~

转载于:https://www.cnblogs.com/zhouyinhui/archive/2010/06/17/1759396.html

相关文章:

Enterprise Library 4 缓存应用程序块的设计

缓存应用程序为以下目的而设计&#xff1a; 提供一个大小可管理的 API 集合。允许开发人员添加标准的缓存操作到他们的应用程序中&#xff0c;而不用学习应用程序块的内部工作。用 Enterprise Library 配置控制台来简化配置。有效率的执行。线程安全。某些东西在被多个程序线程…

【软件测试培训】了解jmeter分布式测试

一提到分布式测试&#xff0c;大家肯定会觉得&#xff0c;哇!好高大上&#xff0c;一定很高深的吧&#xff0c;这里老师推出不做傻白甜系列文章&#xff0c;带同学们一步一步理解jmeter的分布式测试。 首先我们来看下jmeter自动化测试的流程 &#xff0c;见如下图1 【软件测试…

存储过程中返回结果集

存储过程中返回结果 从存储过程中返回结果有三种方式&#xff1a; 1、 返回结果集 这是客户端应用程序返回结果的最通用的方法。结果集是通过使用select语句选择数据产生的。结果集可以从永久表、临时表或局部变量中产生。将结果返回到另一个存储过程不是一种有效的方法。存储…

我的股票交易策略

投资股市已经成为我们进行资产配置的一个重要选择。在这个市场中主流的投资方式无外乎 价值投资 和 趋势投资 两种。价值投资需要了解各种财务指标来评价各支股票&#xff0c;在被市场低估时买入&#xff0c;在被市场高估时卖出。这对于非财务背景的人来说门槛偏高。趋势投资需…

你负责选歌,索尼负责用 AI 谱出风格相似的曲子

近日&#xff0c;索尼巴黎计算机科学实验室&#xff08;CSL&#xff09;正在开发一套算法系统 Flow Machines&#xff0c;该系统根据用户的品味谱写歌曲&#xff0c;其歌曲在迎合用户口味的基础上&#xff0c;适用于所有现有音乐风格。 技术人员搭建了一个拥有 13000 多首音乐的…

java培训:Java的十大算法

想要学好java语言&#xff0c;就要打好基础&#xff0c;java要学习的东西有很多&#xff0c;今天小编就来和大家说下java的十大算法。 算法一&#xff1a;快速排序算法 快速排序是由东尼霍尔所发展的一种排序算法。在平均状况下&#xff0c;排序 n 个项目要Ο(nlogn) 次比较。…

PetShop之表示层设计 - 《解剖PetShop》系列之六

六 PetShop之表示层设计 表示层&#xff08;Presentation Layer&#xff09;的设计可以给系统客户最直接的体验和最十足的信心。正如人与人的相交相识一样&#xff0c;初次见面的感觉总是永难忘怀的。一件交付给客户使用的产品&#xff0c;如果在用户界面&#xff08;User Inte…

物联网时代营销怎么做?

这几年和大数据、O2O一样热门的词还包括“物联网”&#xff0c; 物联网是新一代信息技术的重要组成部分&#xff0c;也是“信息化”时代的重要发展阶段。其英文名称是&#xff1a;“internet of things(IoT)”。顾名思义&#xff0c;物联网就是物物相连的互联网。 说的再通俗一…

怎样去掉 CSDN-Markdown 上传图片中的水印

自己一直使用 Markdown 写技术图文&#xff0c;我们知道在 Markdown 中插入图片需要这个图片的URL地址&#xff0c;那么必须得找一个图床来存放图片。 // Markdown 中插入图片的语法结构![这里写图片描述](这里写图片的URL地址) 我的方法是这样的&#xff1a;在 CSDN 上发一篇…

Python编程比较好的机构怎么选择

想要进入到IT行业&#xff0c;很多人的首要选择都是学习Python编程语言&#xff0c;因为Python编程语言入门是相对比较简单的&#xff0c;但是想要学好Python技术&#xff0c;找一个好的Python培训机构是非常重要的&#xff0c;那么Python编程比较好的机构怎么选择呢?来看看下…

赚钱是刚需,如何正确的交易股票?

试着考虑下面这些情景&#xff1a; 听隔壁老王说&#xff0c;最近股市行情不错&#xff0c;自己也想买点股票&#xff0c;但不知道该买那支&#xff1f;犹犹豫豫到处打听消息。 买入一支股票后&#xff0c;时不时就会拿出手机看看它的价格&#xff0c;有时候甚至一天要看很多…

C# Windows CE使用小技巧实例

C# Windows CE使用的一些感受&#xff1a;使用Windows的开发机上用C#启动一个外部程序的方法有很多&#xff0c;但这些方法用在使用WinCE的目标工控机上都无能为力。 C# Windows CE使用1、 现在以打开一个IE为例&#xff0c;介绍如何在WinCE下使用C#来打开一个外部文件&#xf…

Ovirt 安装部署方法

官方的安装文档&#xff1a;http://www.ovirt.org/documentation/install-guide/Installation_GuideOvirt note 系统镜像的下载&#xff1a;http://www.ovirt.org/download http://mirror.isoc.org.il/pub/ovirt/ovirt-4.1/iso/ovirt-node-ng-installer-ovirt/4.1-2017072816/…

零基础如何选择适合的Java培训课程

很多人都想要学习java技术&#xff0c;但是害怕自己是零基础学不好&#xff0c;所以想要找专业的java培训机构进行学习&#xff0c;但是零基础如何选择适合的Java培训课程成了他们比较头疼的事情&#xff0c;下面小编就为大家做下详细的介绍。 ​  零基础如何选择适合的Java培…

Android Intent的几种用法全面总结

Android Intent的几种用法全面总结 Intent, 用法Intent应该算是Android中特有的东西。你可以在Intent中指定程序要执行的动作&#xff08;比如&#xff1a;view,edit,dial&#xff09;&#xff0c;以及程序执行到该动作时所需要的资料。都指定好后&#xff0c;只要调用startAct…

七天学会「股票数据分析软件」的开发(中)

两天前&#xff0c;我写了 七天学会「股票数据分析软件」的开发&#xff08;上&#xff09;&#xff0c;号召大家尝试着写写代码&#xff0c;不知道大家进度如何。 如果存在掌握一种技能的刚需&#xff0c;而且知道正确的学习方法&#xff0c;经过刻意练习&#xff0c;这门技能…

《Oracle高性能SQL引擎剖析:SQL优化与调优机制详解》一1.1 生成执行计划

1.1 生成执行计划 在Oracle中&#xff0c;任何一条语句在解析过程中都会生成一个唯一的数值标识&#xff0c;即SQL_ID。而同一条语句&#xff0c;在解析过程中&#xff0c;可能会因为执行环境的改变&#xff08;例如某些优化参数被改变&#xff09;而生成多个版本的游标&#…

软件测试培训:高薪测试技术要掌握哪些

职业技能一 1. 软件测试&#xff1a; 1) 熟练灵活地运用等价类、边界值、判定表法、因果图法等各种方法设计测试用例&#xff0c;包括单元测试、集成测试、系统测试用例设计。 2) 牢固掌握了软件测试计划、测试日报、测试报告的写作方法与要领。 3) 针对B/S、C/S架构及不同…

MFC-4简单的窗口重绘(非部分重绘)

#include <afxwin.h> #include "resource.h" #include <afxtempl.h> //定义模板类的头文件class MyDocument : public CDocument { public:CArray<CPoint,CPoint &> pArray;//<保存的数据类型,读取保存数据类型的返回值>void AddPoint…

七天学会「股票数据分析软件」的开发(下)

昨天下午把《我不是药神》这部电影看了&#xff0c;搞得我哭的稀里哗啦&#xff0c;里面有一些情节触痛了内心中最薄弱的地方。药厂没有错&#xff0c;他们要收回前期投入的研发成本。主人公 程勇 只能算是整个事件的牺牲品&#xff0c;通过他的牺牲让国家关注到白血病人这个群…

那些对混合云开发和应用程序环境的错误认识

企业架构师们在开发混合云计算应用程序并为支持程序云计算而选择云计算供应商之前&#xff0c;他们应当好好完成他们的准备工作。选择错误的供应商和在错误的环境中开发应用程序都会对应用程序的运行性能、工作流程、变更成本、以及与客户的沟通和交易带来负面影响。 在本文中&…

2021年UI设计培训机构哪个好

想要学好UI设计&#xff0c;选择报一个专业的UI设计培训机构是非常明智的选择&#xff0c;为什么这么说呢?因为培训机构的课程都是根据当下的行业环境制作出来的&#xff0c;而且有专业老师&#xff0c;比自学要好很多&#xff0c;那么在2021年UI设计培训机构哪个好呢?来看看…

UVA 116 Unidirectional TSP DP

题目链接&#xff1a; https://uva.onlinejudge.org/index.php?optioncom_onlinejudge&Itemid8&category3&pageshow_problem&problem52 题目描述&#xff1a; 一个整数矩阵&#xff0c; 求第一列到最后一列的最小整数和&#xff0c; 只能从第一列出发向右&…

C++ 数据类型转换

wchar_t*,wchar_t,wchat_t数组,char,char*,char数组,std::string,std::wstring,CString....#include <string>// 使用CString必须使用MFC&#xff0c;并且不可包含<windows.h>#define _AFXDLL#include <afx.h>using namespace std;//-----------------------…

如何准备数学建模竞赛!

昨天早晨&#xff0c;我到教十一实验室的时候遇到史会峰老师&#xff0c;他说正准备给学生们进行数学建模的培训。今天早晨&#xff0c;我又遇到了孔令才老师&#xff0c;他同样也说准备给学生们进行数学建模的培训。看到这么多同事在做这个事情&#xff0c;想想自己也应该贡献…

UI设计培训:UI设计师离不开的基本版式设计

不管你是UI设计&#xff0c;还是工业设计&#xff0c;甚至动画设计&#xff0c;终究离不开基本的版式设计&#xff0c;所以版式设计这块非常考验设计师的基础功力。 1. 大且醒目&美观的排版设计 版面设计大概是一位设计师重要的部分&#xff0c;今年的版面设计会围绕着大且…

我对她说,你能不能换件衣服?换种心情?换种脾气?她说,可以,换个人就行了···...

我跟她说&#xff0c;你能不能换件衣服?换种心情?换种脾气?她说&#xff0c;可以&#xff0c;换个人就行了转载于:https://www.cnblogs.com/yangzhong/archive/2010/07/06/1772124.html

如何通过代码连接SQL Server数据库

我们曾经为南方电网做过几个有关架空线路的科技项目&#xff0c;要趁着假期有整段的空闲时间&#xff0c;把这些代码整理一下&#xff0c;放入团队刚刚重构的代码库中。 由于这些项目使用的数据库为 SQL Server&#xff0c;所以在整理代码之前需要解决两个问题&#xff1a; 把…

选择一个稳定、快速的服务器四大注意事项

要想运营好一个网站&#xff0c;稳定和高速的服务器是必不可少的。可是在选择的时候企业就会很发愁&#xff0c;不知道该考虑哪些因素&#xff0c;不知道该怎么选择&#xff0c;下面我们简单的了解一下如何选择一个稳定性好、快速的服务器。 第一 性能要稳定 为了保证网站能够正…

APP不同上线情况对应的测试流程

一个App软件从研发提测到版本上线都会经过哪些测试流程呢?很多人认为就是进行功能测试&#xff0c;没bug了就提交审核&#xff0c;审核通过就直接上线了&#xff0c;其实不然&#xff0c;有些步骤是需要特别关注的&#xff0c;否则极易造成线上bug&#xff0c;本文千锋教育小编…