A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© hoohoo 中级黑马   /  2015-9-3 18:05  /  2088 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如果把647转化为二进制为1010000111,在转化为16进制为287,如果直接用647转化为16进制,647除以16得47,怎么不一样呢?

8 个回复

倒序浏览
647除以16是算16进制的方法???
回复 使用道具 举报
下面的程序可以算出10进制到2~16进制的转换,可以算一下。
#include <stdio.h>

int main()
{
    int i,num,R;                              
    char bitnum[100];
    printf("请输入一个十进制整数:");
    scanf("%d",&num);
    printf("请输入要转换的进制数(2-16之间):");
    scanf("%d",&R);
   
    if(R<2||R>16){                             //判断进制数范围
        printf("输入数据错误");
    }else
        //计算需要转换的进制数
        for (i=0;num!=0;i++){
            if (num % R >= 10) {
                bitnum[i]= 'A' + (num % R - 10);
            } else {
                bitnum[i]=num % R + '0';
            }
            num = num / R;
        }

    while(i--){                                //逆向输出
        printf("%c",bitnum[i]);
    }
    return 0;
}
回复 使用道具 举报
647除以16什么都不是!
回复 使用道具 举报
wtj900 发表于 2015-9-3 20:35
下面的程序可以算出10进制到2~16进制的转换,可以算一下。
#include

犀利,顶
回复 使用道具 举报
刚刚学还是把他先转化成二进制,再转化成16进制的把
回复 使用道具 举报
算法错啦,你看进制的转换了嘛
回复 使用道具 举报
研究这么深奥的问题我也是吓尿了!加油吧。
回复 使用道具 举报
学习学习!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马