博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
抢车位中的排名bug(比較使用了无符号数)
阅读量:7286 次
发布时间:2019-06-30

本文共 719 字,大约阅读时间需要 2 分钟。

     昨天把这个发在了qzone,想来还是怪怪的,还是转过来不吧,纯当发现了一个虫子,玩笑一下。只是csdn如今不能贴图,挺郁闷的,原文在。

     首先上图,今天我心血来潮想看看我的抢车位怎么个情况,不出意外应该还是排名第一把,尽管近期意外比較多。打开一看,吓了一跳,怎么排到第三去了,不急,看看第一第二比我多多少,再看,这才真吓了一跳,竟然是负数……无语,大家细致看图片,我的现金是22309730还有98800000的汽车固定资产,而如今排名第一的妹妹,总资产负4040,这个现今-20040加上汽车的16000(16000-20040= - 4040)算出来的,先无论她的现金是怎么变成负数的,呵呵,看看程序猿是怎么犯这个错误的吧。

照片名称:抢车位bug,强大的图片

 

      我開始以为是整数溢出了造成的bug,只是以下的第二名也是负数,他是负28360,假设是整数溢出的话,显示的总资产应该会不对,由于进位会被直接丢掉了,所以计算这块应该是没有问题的,出问题的应该是比較的时候,预计这哥么想不可能有负数把,就随手写下了两个无符号数的比較,如是,问题产生了,还真就出现了负数:

      32位的无符号整数最大是(0xFFFFFFFF)2的32次方减1,4294967295

      把-4040换算成计算机表示(二进制补码)为:1111 1111 1111 1111 1111 0000 0011 1000 这个数假设当成一个无符号数是4294963256,相同-28360换算出来是4294938936,哈哈,确实一个第一,一个第二啊,并且比我的总资产121109730确实大多了。

      只是那个好友列表里面的排行是正确的,呵呵,可能这两部分是两个不同的人写的。嘿嘿。

转载地址:http://htdjm.baihongyu.com/

你可能感兴趣的文章
电子书,电子图书馆网址大全
查看>>
List中的get(i)
查看>>
整数N分解,搭积木,离散数学中的母函数,ZOJ(1163)
查看>>
mysql删除数据库文件ibdata1后引发的故障
查看>>
ansible笔记(3):ansible模块的基本使用
查看>>
7.2 main函数
查看>>
Foundation HTML5 Canvas中的2处错误
查看>>
chcapter 11 熵和信息
查看>>
GFS文件系统
查看>>
面向对象数据库NDatabase_初识
查看>>
HDU1319 POJ1595 UVA406 UVALive5490 ZOJ1312 Prime Cuts【素数筛选+打表】
查看>>
事务的特性及事务的隔离级别(转)
查看>>
转:如何正确彻底删除webpack 全局或是局部?
查看>>
【Python】Symbol Review
查看>>
电脑 F键(功能键)的具体作用
查看>>
004-软件质量保证&QC/QA
查看>>
选择排序的实现以及性能测试
查看>>
基于snowfall的玫瑰花瓣飘落效果
查看>>
linux之cut用法
查看>>
结交比自己优秀的人
查看>>