1160: 十进制-十六进制 解题心得

原题

Description

把十进制整数转换为十六进制,格式为0x开头,10~15由大写字母A~F表示。

Input

每行一个整数x,0<= x <= 2^31。

Output

每行输出对应的八位十六进制整数,包括前导0。

Sample Input

0
1023

Sample Output

0x00000000
0x000003FF

分析:由十进制对n进制的转换    最低位为       x%n                    上一位为     x/n%n               再上一位为   x/n/n&n

所以我的代码

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
char a[8];

int main()
{
    int i = 7;
    long long b;
    while (cin >> b){
        i = 7;
        memset(a, ‘0‘, sizeof(a));
        while (b != 0 && i>0){
            int x = b % 16;
            b = b / 16;
            if (x >= 10){
                a[i] = x + 55;
                i--;
            }
            else{
                a[i] = x + 48;
                i--;
            }
        }
        cout << "0x";
        for (int j = 0; j < 8; j++){
            cout << a[j];
            if (j == 7)  cout << endl;
        }
    } 

    return 0;
}

时间: 2024-11-07 16:59:05

1160: 十进制-十六进制 解题心得的相关文章

二进制,八进制,十进制,十六进制!!!!

一直以为进制转换离我很远,不会碰到这个问题,就算碰到了,百度一下就能解决,所以一直没关注过这个问题.直到有一天,碰到了一个进制转换问题,却不可以用百度...FUCK. 所以总结一下,二进制,八进制,十进制,十六进制如下: * 二进制全是0.1 * 八进制以0开头表示,0-7 * 十进制不能以0开头表示,0-9 * 十六进制以0x开头表示,0-9,A-F java中进制转换: A.十进制转换其他 十进制转成二进制  Integer.toBinaryString(int i) 十进制转成八进制  I

ASCII码表(二进制 十进制 十六进制)

css里,允许使用转义字符\+ascii16进制形式; 例如: e的ascii 16进制是65,我们就写为\65 expression -> expr\65ssion 二进制 十进制 十六进制 缩写 解释 0000 0000  0 00 NUL 空字符(Null) 0000 0001 1 01 SOH 标题开始 0000 0010 2 02 STX 正文开始 0000 0011 3 03 ETX 正文结束 0000 0100 4 04 EOT 传输结束 0000 0101 5 05 ENQ 请求

第四章学习小结 串的模式匹配 解题心得体会

串的模式匹配 解题心得体会 关于串,模式匹配是其一个很重要的问题.针对这个问题,书上讲了两种模式匹配的算法,即BF算法和KMP算法,下面针对这两种算法的实现谈谈我的心得. 一.BF算法的探索 [错误代码1] #include<iostream> #include<string.h> using namespace std; typedef struct{ char ch[1000002]; int length; }SString; void Index_BF(SString S,

比赛--十进制转换十六进制--解题报告

十进制转换十六进制问题 题目大意: 把十进制整数转换为十六进制,格式为0x开头,10~15由大写字母A~F表示. 要求: Input 每行一个整数x,0<= x <= 2^31. Output 每行输出对应的八位十六进制整数,包括前导0. 输入样例: Input 0 1023 Output 0x000000000x000003FF 题目分析: 用十六进制格式转换符输出 程序代码: 1 #include<cstdio> 2 #include<iostream> 3 usi

python基本数据类型(字节字符十进制十六进制二进制转换)

#公共功能 # 索引:只能取一个元素 # 切片:取多个元素 #len:计算长度 #for name='李露' #utf-8 一个汉字三个字节 for i in name: print(i) bytes_list=bytes(i,encoding='utf-8') #默认输出十六进制 for b in bytes_list: print(b) #循环的时候默认输出十进制 #3.5 for循环的时候,循环的每个元素时字符 #字符->字节 #bytes() #utf-8->3字节 #gbk->

wechall.net/stegano 解题心得

最近迷上了 www.wechall.net 网站,里面都是些与计算机相关的题目挑战.题目又分很多类型,例如:加密与解密.隐写术.网络攻防.趣味编程.数学逻辑等.题目有的简单,有的很难,需要一些知识和技巧.与其他题目挑战的网站不同的是,在其他类似性质的网站注册的用户可以绑定到 WeChall 网站,然后 WeChall 提供排名信息,而且也分得很细,什么按总分全球排名.什么在自己国家的排名.什么解答某种语言网站题目的排名等.可以从解题的人数判断题目的难易程度,有兴趣的朋友可以去注册,解题中也能学到

delphi 十进制十六进制转换

delphi有提供十进制转换成十六进制的函数: IntToStr();   返回值为String // 十进制转十六进制 var i: integer; str: string; begin i := 255; ShowMessage(IntToHex(I, 2)); //FF 2表示返回的位数 // 另外,Formart也有把十进制用十六进制输出的功能 str := Format('%.2x', [i]); ShowMessage(str); // FF 返回结果跟IntToStr()函数想一

二进制 八进制 十进制 十六进制之间的转换

一. 十进制与二进制之间的转换 (1)十进制转换为二进制,分为整数部分和小数部分 ① 整数部分 方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数.下面举例: 例:将十进制的168转换为二进制 得出结果 将十进制的168转换为二进制,(10101000)2 分析:第一步:将168除以2,商84,余数为0.  第二步:将商84除以2,商42余数为0. 

二进制 八进制 十进制 十六进制

一. 十进制与二进制之间的转换 (1) 十进制转换为二进制,分为整数部分和小数部分 ① 整数部分 方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数.下面举例: 例:将十进制的168转换为二进制 得出结果 将十进制的168转换为二进制,(10101000)2 分析:第一步,将168除以2,商84,余数为0. 第二步,将商84除以2,商42余数为0.