UDN-企业互联网技术人气社区

板块导航

浏览  : 2146
回复  : 21

[社区公告] 【UDN算法每周一战】整数的二进制表达中有多少个1

[复制链接]
发表于 2015-11-16 11:27:37 来自手机 | 显示全部楼层
使用道具 举报

回复

发表于 2015-11-16 14:57:22 | 显示全部楼层
使用道具 举报

回复

发表于 2015-11-16 14:58:26 | 显示全部楼层
使用道具 举报

回复

发表于 2015-11-16 19:17:37 | 显示全部楼层
http://runjs.udn.yyuap.com/detail/73hlwn9k  展大侠的代码来啦
点评 ( 1 ) 收起 / 展开点评

born 2015年11月17日 10:07

牛!

使用道具 举报

回复

发表于 2015-11-19 12:28:23 | 显示全部楼层
本帖最后由 dulei 于 2015-11-19 12:31 编辑

我不认为上述js代码有算对的,不然展翔的代码为什么12345678987654321和12345678987654320算出来的1的个数是一样的呢,不信的话可以计算器看看啊,之前我说的js处理测试数据会丢失精度!!!!!!!!!!!!!强烈质疑这次的结果@born

1.jpg
2.jpg
使用道具 举报

回复

发表于 2015-11-19 14:46:03 | 显示全部楼层
@born
楼主为什么不看看我的2次回复,不是在意最终谁赢了,而是有错误大家都当没看见
点评 ( 1 ) 收起 / 展开点评

born 2015年11月20日 10:03 详情 回复

这个是我判断错了 展翔的也是错误的

使用道具 举报

回复

发表于 2015-11-20 01:00:38 | 显示全部楼层
dulei 发表于 2015-11-19 14:46
@born
楼主为什么不看看我的2次回复,不是在意最终谁赢了,而是有错误大家都当没看见 ...

我想问为什么按选出来的代码
12345678987654321的二进制1的数量是14而不是26?
使用道具 举报

回复

发表于 2015-11-20 01:01:32 | 显示全部楼层
Responsible 发表于 2015-11-20 01:00
我想问为什么按选出来的代码
12345678987654321的二进制1的数量是14而不是26? ...

@born
使用道具 举报

回复

born的头像 楼主
发表于 2015-11-20 10:03:28 | 显示全部楼层
本帖最后由 born 于 2015-11-20 10:20 编辑
dulei 发表于 2015-11-19 14:46
@born
楼主为什么不看看我的2次回复,不是在意最终谁赢了,而是有错误大家都当没看见 ...

负数在计算机内部是用补码表示的
例如 -1
1的原码是 0000 0001
则-1的反码是 1111 1110
补码是 1111 1111
所以 -1在计算机中表示为 1111 1111

windows的计算器的计算方式有问题的,不能以那个为准
使用道具 举报

回复

发表于 2015-11-20 10:07:58 | 显示全部楼层
born 发表于 2015-11-20 10:03
这个是我判断错了
展翔的也是错误的

所以如果是用12345678987654321的话测试数据太大了,js处理会丢失精度,所以建议使用2进制位数32位,10进制最长10位的数据作为测试数据
使用道具 举报

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们
联系我们
  • 电话:010-86393388
  • 邮件:udn@yonyou.com
  • 地址:北京市海淀区北清路68号
移动客户端下载
关注我们
  • 微信公众号:yonyouudn
  • 扫描右侧二维码关注我们
  • 专注企业互联网的技术社区
版权所有:用友网络科技股份有限公司82041 京ICP备05007539号-11 京公网网备安1101080209224 Powered by Discuz!
快速回复 返回列表 返回顶部