微信公开课小程序热门讨论「C语言四个小程序对比,关于数据的输出的,应该比较简单,但有些地方不太懂。希望能讲的详细些,基础弱」最新回复-你自学的非常认真,值得赞扬!也值得学习。我是60年代初的大学毕业生,是数学专业毕业,上学时没有学过计算机,所有的计算机知识都是自学的。所以深知自学的甘苦。对你很理解也很赞赏。无符号数是不分正负的,没有符号位,对短整数而言,所有的比特都用来表数。最大数是65535。输出时,%u是按无符号输出,%d是十进制整数输出,所以都输出65535。也就是说,第1、2、4都是如此。这不是巧合,而是理应如此。第3也是必然的,因为是短整形、十进制整形输出,计算机是补码存储,16个1中的最高位1代表负数,其余的15个1取反后为15个0,加1后为1,所以输出1。不能只说溢出,因为溢出后可为多种值,而65535只能是1。第4个,我认为应该输出65535,上机试了一下确实是65535,你可以再试一下,不妨换台机器,换个版本试试,因为TC2.0是与及其有关的,也应该考虑硬件的影响。
%u是无符号10进制输出 %d是整数10进制输出第二例中abc和一例中一样,本身就是无符号型,输出没错第三例中a,b,c是短整型,不是无符号型,输入的65535转换为二进制1111111111111111(16个1),最高位的1被系统看成是符号位(符号位为1是负数,为0是正数),因此是个负数,具体数值负数是按其补码存在(具体编码你可以看书)确实是-1的补码第四种输出4294967295=2的32次方-1你输出应该是%lu吧,按无符号长整形才可能是32位输出;a,b,c是短整型,不是无符号型,输入的65535转换为二进制1111111111111111按长整形输出会按其最高为补充成32位数,即1111111111111111变化为11111111111111111111111111111111(32个1)这个数对应正整数就是2的32次方-1,也就是4294967295 更多有关「C语言四个小程序对比,关于数据的输出的,应该比较简单,但有些地方不太懂。希望能讲的详细些,基础弱」的疑问请扫码关注微信公开课+小程序!了解更多
方法1:微信扫描微信公开课小程序码即可订阅热议话题「C语言四个小程序对比,关于数据的输出的,应该比较简单,但有些地方不太懂。希望能讲的详细些,基础弱」
方法2:微信搜索微信公开课小程序名称进入,即可订阅热议话题「C语言四个小程序对比,关于数据的输出的,应该比较简单,但有些地方不太懂。希望能讲的详细些,基础弱」
方法3:微信网页访问即速商店,长按识别微信公开课小程序码即可订阅热议话题「C语言四个小程序对比,关于数据的输出的,应该比较简单,但有些地方不太懂。希望能讲的详细些,基础弱」
微信公开课小程序热议话题「C语言四个小程序对比,关于数据的输出的,应该比较简单,但有些地方不太懂。希望能讲的详细些,基础弱」由微信公开课原创摘录于微信小程序商店shop.jisuapp.cn,转载请注明出处。
微信公开课热议话题「C语言四个小程序对比,关于数据的输出的,应该比较简单,但有些地方不太懂。希望能讲的详细些,基础弱」由微信公开课开发者向微信用户提供,并对本服务内容、数据资料及其运营行为等真实性、合法性及有效性承担全部责任。