首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么二进制等效计算变得不正确?

为什么二进制等效计算变得不正确?

提问于 2018-01-30 04:42:21
回答 2关注 0查看 399

我编写了以下程序来输出等于整数的二进制值(我检查了我的系统上的int是4个字节),它是4个字节。但是输出结果并不是正确的。守则是:

代码语言:txt
复制
#include<iostream>
#include<iomanip>
using namespace std;

void printBinary(int k){
    for(int i = 0; i <= 31; i++){
        if(k & ((1 << 31) >> i))
            cout << "1";
        else 
            cout << "0";
    }
}

int main(){
    printBinary(12);
}

我哪里搞错了?

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档