c++-请问我设置的32位二进制输出,但最后为什么会多出一个0呢?

问题描述

请问我设置的32位二进制输出,但最后为什么会多出一个0呢?

解决方案

只发现最后会多输出一个空格,空格后面那个0是不是在主函数里输出的?

解决方案二:
贴一下完整代码看看!

解决方案三:
目测不在这个函数里面。可以只运行一次这个函数看看

解决方案四:
#include
#include
using namespace std;

int bit[32];
int i;
int Bit(unsigned int n)
{
for(i=0;i {
bit[i]=n%2;
n/=2;
}
for(i=31;i>=0;)
{
cout< if((i+1)%4==0)
{
cout }
}
}
int main()
{
unsigned int n;
int count=0;
cin>>n;
while(n)
{
cout<<""第""<<count+1<<""次""<<endl;
count++;
cout<<n<<""&""<<n-1<<endl;
cout<<Bit(n)<<endl;
cout<<Bit(n-1)<<endl;
n=n&(n-1);
cout<<""*******************************************""<<endl;
cout<<Bit(n)<<endl;
}
cout<<""n总共""<<count<<""次运算""<<endl;
}

解决方案五:
cout<<Bit(n)<<endl;这一句,Bit()返回了一个0然后被你在主函数里输出了,这就是那最后的0。

时间: 2024-09-18 18:09:32

c++-请问我设置的32位二进制输出,但最后为什么会多出一个0呢?的相关文章

iis 7启用32位应用程序

在之前的IIS7配置php中我们已经详细图解了了配置过程,也许有的朋友会按照上面说的配置不成功,配置完成后,运行程序总是报500的fastcgi服务器错误,其实只要在程序池中设置启用32位应用程序即可 另外由于64位操作系统不支持Microsoft OLE DB Provider for Jet驱动程序,也不支持更早的Microsoft Access Driver (*.mdb)方式连接.所以用于 Access 和 Excel 数据库的 Microsoft OLE DB Provider for

软件-WIN7 32位系统程序打不开

问题描述 WIN7 32位系统程序打不开 我开发的一个软件 在部分的WIN7系统中打不开,经过测试去掉窗口的ICON就能打开无论是代码设置还是属性里面的该ICON值一设置就打不开 经过测试一运行到icon赋值的那块程序就自动关闭了 无任何的报错(加了异常处理日志记录). 求大神帮助 解决方案 不知道你使用什么语言写的程序,你是怎么给icon赋值的? 参考使用 Windows 窗体 NotifyIcon 组件向任务栏添加应用程序图标.aspx "使用 Windows 窗体 NotifyIcon 组

关于32位系统和64位系统运行asp。net程序的兼容性问题。

问题描述 我现在做了一个asp.net网站,用的C#.vs2008开发环境,操作系统是windowsserver2008x32.数据库:oracle10g.运行一切正常.现在客户换了一台服务器,装windowsserver2008X64版本.不知道我的这个网站部署到64位的系统是有问题没有.如果有兼容问题,该怎么解决. 解决方案 解决方案二:如果程序是纯.NET写的,完全没有问题.如果程序使用了32bit的dll或者activex组件,那么需要把程序集编译成32bit.解决方案三:网页中有一个f

如何查看Oracle是32位还是64位

方法一:使用sqlplus 64位: [oracle@qs-wg-db2 ~]$ sqlplus / as sysdba; SQL*Plus: Release 10.2.0.5.0 - Productionon Sun Sep 25 08:57:22 2011 Copyright (c) 1982, 2010, Oracle.  All Rights Reserved. Connected to: Oracle Database 10g Enterprise EditionRelease 10.

编程-给定一个最多包含40亿个随机排列的32位整数的顺序文件,找出一个不在文件中的32位整数。

问题描述 给定一个最多包含40亿个随机排列的32位整数的顺序文件,找出一个不在文件中的32位整数. (在文件中至少缺失一个这样的数为什么?)括号里的话怎么得到的 在具有足够内存的情况下,如何解决该问题? 如果有几个外部的临时文件可以用,但是只有几百字节的内存,又该如何解决该问题. 解决方案 足够内存,用位图法.定义一个arr[4294967296]大小的数组,遍历顺序文件,遇到一个值,就把对应下标的置1,最后遍历这个数组,找0的元素. 解决方案二: 如果只有几百的内存,可以用hashtable.

又是阮一峰:文件和二进制数据的操作 - 从来没这么佩服一个没见过面的人

文件和二进制数据的操作  来自<JavaScript 标准参考教程(alpha)>,by 阮一峰 目录 Blob对象 FileList对象 File对象 FileReader对象 综合实例:显示用户选取的本地图片 URL对象 参考链接 历史上,JavaScript无法处理二进制数据.如果一定要处理的话,只能使用charCodeAt()方法,一个个字节地从文字编码转成二进制数据,还有一种办法是将二进制数据转成Base64编码,再进行处理.这两种方法不仅速度慢,而且容易出错.ECMAScript

64位系统下用vs2012 编译qt程序,请问怎么编译出在32位系统可以运行的程序

问题描述 64位系统下用vs2012 编译qt程序,请问怎么编译出在32位系统可以运行的程序 我现在想把写好的qt程序打包,但是在32位系统上跑不起来, 然后我编译时把平台改为win32,又提示无法编译,编译失败, 请问在64位windows系统怎么编译出可以在32位系统运行的程序 解决方案 需要在编译设置里面修改一些条件编译的参数. 解决方案二: 需要设置编译选项 或直接运行32位的gcc编译系统

devc++-我是32位系统,安装了DEVc++之后运行之后显示的是这个,请问要怎么解决啊?

问题描述 我是32位系统,安装了DEVc++之后运行之后显示的是这个,请问要怎么解决啊? 解决方案 1.按yes,让程序自己找,如果你什么也不知道的话. 2.如果你知道目录结构,找到你的MinGW64的库文件所在位置,在软件的系统设置里面把这个目录设定为库文件的路径. 解决方案二: 我按了yes之后每次运行都要重新设置一次,还有我找到MinGW64文件夹,但是里面只有lib子文件夹没有lib32要怎么办? 解决方案三: 应该是dev跟你的MinGW64版本不兼容,所以dev处理不对 解决方案四:

vmware-VMware中有两个centos,但是64位的可以上网,32位的却不行,请问是什么原因呢

问题描述 VMware中有两个centos,但是64位的可以上网,32位的却不行,请问是什么原因呢 VMware中有两个centos,但是64位的可以上网,32位的却不行,请问是什么原因呢.谢谢!!! 解决方案 配置问题吧,点开VMware里的虚拟机工具栏下有个设置,看下你的Centos系统的那个网络配置是否为NAT,如下图所示: 解决方案二: 网络配置问题,这个应该和多少位没关系 解决方案三: 跟系统没关系的,看下你自己的配置吧