c++二进制整数怎么写

inti=1010:十进制0x1010:16进制01010:8进制2进制怎么表示?... int i=1010:十进制
0x1010:16进制
01010:8进制

2进制怎么表示?
展开
 我来答
marksea
推荐于2018-02-28 · TA获得超过1331个赞
知道小有建树答主
回答量:1205
采纳率:0%
帮助的人:1132万
展开全部
无论是书写,阅读,表达,二进制数都很不方便,16进制是二进制的缩写形式, 比如 1111 1111 是 FF, 0111 0011 是 73,16进制数是替代2进制数的表达方式

正如你所说, 十进制形式直接写、以0开头的八进制形式、以0x开头的十六进制形式,无二进制形式,二进制数用16进制来代
NicholasHoultX
2018-03-31 · TA获得超过6081个赞
知道小有建树答主
回答量:45
采纳率:0%
帮助的人:6630
展开全部
#include <stdio.h>
#include <stdlib.h> 
int main(int argc, char** argv)
{   
     int n;    printf ("输入 n:");
     scanf ("%d", &n);
     char binary_str[32];
     itoa(n, binary_str, 2);
     printf ("%d 的二进制为 %s\n", n, binary_str);
     return 0;
     }

C语言中进制转化的实现:

#include <stdio.h>
int exchange(int a)
{
    if(a == 10){printf("A");return 0;}
    if(a == 11){printf("B");return 0;}
    if(a == 12){printf("C");return 0;}
    if(a == 13){printf("D");return 0;}
    if(a == 14){printf("E");return 0;}
    if(a == 15){printf("F");return 0;}
    printf("%d",a);
}
int main(int argc, char *argv[])
{
    int x,y,i,j,a[110];
    while(scanf("%d%d",&x,&y) == 2)//输入x,y,x为十进制数,y为要转换的进制
    {
       if(x < 0){printf("-"); x = -x;}//如果x小于零,转换成正数再计算,然后先把负号输出
       if(x == 0){printf("0");return 0;}
       for(i = 0;x != 0;i++)//一下为十进制转换成其他进制的基本规则
          {
               a[i] = x % y;
             x = x / y;      
            } 
       i--;         
          if(y > 10)//如果要转换的进制大于十进制,要特别处理。
           for(j = i;j >= 0;j--)
              exchange(a[j]);  
       else for(j = i;j >= 0;j--)
               printf("%d",a[j]);
        printf("\n");             
    }
    return 0;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bhtzu
2014-10-16 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4268万
展开全部
在C++中,只有这三种标准表达式可以被所有编译器解析,二进制格式没有统一写法标准。
也就是说,数值常量无法用二进制表示。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式