精华内容
下载资源
问答
  • 十六进制转八进制:问题描述 给定n个十六进制正整数,输出它们对应的八进制数。输入格式 输入的第一行为一个正整数n (1<=n<=10)。 接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要...













    十六进制转八进制

    问题描述

      给定n个十六进制正整数,输出它们对应的八进制数。

    输入格式
      输入的第一行为一个正整数n (1<=n<=10)。
      接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。

    输出格式
      输出n行,每行为输入对应的八进制正整数。

       【注意
      输入的十六进制数不会有前导0,比如012A。
      输出的八进制数也不能有前导0。

    样例输入
      2
      39
      123ABC

    样例输出
      71
      4435274

       提示
      先将十六进制数转换成某进制数,再由某进制数转换成八进制。
    #include <string>
    #include <stdio.h>
    #include <iostream>
    #include <algorithm>
    using namespace std;
    int main() {
    	int n;
    	scanf("%d", &n);
    	while(n--) {
    		string str1, str2 = "";
    		cin >> str1;
    		for(int i = 0; i < str1.length(); i++) {
    			switch(str1[i]) {
    				case '0': str2 += "0000";break;
    				case '1': str2 += "0001";break;
    				case '2': str2 += "0010";break;
    				case '3': str2 += "0011";break;
    				case '4': str2 += "0100";break;
    				case '5': str2 += "0101";break;
    				case '6': str2 += "0110";break;
    				case '7': str2 += "0111";break;
    				case '8': str2 += "1000";break;
    				case '9': str2 += "1001";break;
    				case 'A': str2 += "1010";break;
    				case 'B': str2 += "1011";break;
    				case 'C': str2 += "1100";break;
    				case 'D': str2 += "1101";break;
    				case 'E': str2 += "1110";break;
    				case 'F': str2 += "1111";break;
    				default: break;
    			}
    		}
    		int m = str2.length();
    		if(m%3 == 1) 
    			str2 = "00" + str2;
    		else if(m%3 == 2) 
    			str2 = "0" + str2;
    		int flag = 0;
    		//cout << str2 <<endl;
    		for(int i = 0; i <= str2.length()-3; i+=3) {
    			m = 2*2*(str2[i]-'0') + 2*(str2[i+1]-'0') + 1*(str2[i+2]-'0');
    			if(m) flag = 1;
    			if(flag) cout<<m;
    		}
    		puts("");
    	}
    	return 0;
    }

    十六进制转十进制

    问题描述
      从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
      注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
    样例输入
    FFFF
    样例输出
    65535

    #include <string>
    #include <iostream>
    #include <algorithm>
    using namespace std;
    #define LL long long
    LL Pow_mod(LL a, LL b) { // a^b
    	LL ret = 1;
    	while(b != 0) {
    		if(b%2 == 1) 
    		ret *= a;
    		a *= a;
    		b /= 2;
    	}
    	return ret;
    }
    int main() {
    	string str1;
    	cin >> str1;
    	LL sum = 0;
    	int n = 0;
    	for(int i = str1.length()-1; i >= 0; i--) {
    		if(str1[i] >= '0' && str1[i] <= '9') {
    			sum += (str1[i]-'0')*Pow_mod(16, n);
    		}
    		else sum += (str1[i]-'A'+10)*Pow_mod(16, n);
    		n++;
    	}
    	cout << sum << endl;
    	return 0;
    }

    十进制转十六进制

    问题描述
      十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。
      给出一个非负整数,将它表示成十六进制的形式。
    输入格式
      输入包含一个非负整数a,表示要转换的数。0<=a<=2147483647
    输出格式
      输出这个整数的16进制表示
    样例输入
    30
    样例输出
    1E

    #include <stdio.h>
    char c[17] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
    int main() {
    	int p = 0;
    	long long n;
    	int ans[1005];
    	scanf("%lld", &n);
    	if(!n) puts("0");
    	else
    	while(n) {
    		ans[p++] = n%16;
    		n /= 16;
    	}
    	for(int i = p-1; i >= 0; i--) {
    		printf("%c", c[ans[i]]);
    	}
    	return 0;
    }

    展开全文
  • 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。 注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。 样例输入 FFFF 样例输出 65535 问题描述 十六...

    问题描述
      从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
      注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
    样例输入
    FFFF
    样例输出
    65535


    问题描述
      十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。
      给出一个非负整数,将它表示成十六进制的形式。
    输入格式
      输入包含一个非负整数a,表示要转换的数。0<=a<=2147483647
    输出格式
      输出这个整数的16进制表示
    样例输入
    30
    样例输出
    1E

    同属于进制转换类题目,第一题要注意的是保留结果要用long long 型,因为16^8 - 1等于4294967295,超过了int的范围。

    十六进制转十进制

    #include<stdio.h>
    #include<string.h>
    
    int main()
    {
        char list[8];
        int i;
        long long ret = 0;
        gets(list);
        for(i = 0;list[i] != '\0'; i++){
            if(list[i] >= '0' && list[i] <= '9')
                ret = ret * 16 + list[i] - '0';
            else
                ret = ret * 16 + list[i] - 'A' + 10;
        }
        printf("%I64d\n", ret);
    
        return 0;
    }

    十进制转十六进制

    #include<stdio.h>
    
    int main()
    {
        int n, i, target;
        scanf("%d", &n);
        char ret[8];
        i = 0;
        //切记此处用do--while循环,不然当输入为0时不进入循环
        do{
            target = n % 16;
            n = n / 16;
            if(target < 10) ret[i] = target + '0';
            else ret[i] = target - 10 + 'A';
            i ++;
        }while(n);
        //逆序输出数组
        for(i = i-1; i >= 0; i--){
            printf("%c", ret[i]);
        }
        printf("\n");
    
        return 0;
    }
    展开全文
  • ASCII、BCD转十六进制ASCII转十六进制转换规则BCD转十进制十六进制BCD码的优点BCD码分类各种BCD码的特点转换规则 ASCII转十六进制 转换规则 ASCII(American Standard Code for Information Interchange,美国信息...

    ASCII转十六进制

    转换规则

    ASCII(American Standard Code for Information Interchange,美国信息互换标准代码)是基于拉丁字母的一套电脑编码系统,ASCII码表主要用于显示现代英语和其他西欧语言。转换规则如下表:

    十六进制代码

    MCS 字符或缩写

    DEC 多国字符名

    ASCII 控制字符 1

    00

    NUL

    空字符

    01

    SOH

    标题起始 (Ctrl/A)

    02

    STX

    文本起始 (Ctrl/B)

    03

    ETX

    文本结束 (Ctrl/C)

    04

    EOT

    传输结束 (Ctrl/D)

    05

    ENQ

    询问 (Ctrl/E)

    06

    ACK

    认可 (Ctrl/F)

    07

    BEL

    铃 (Ctrl/G)

    08

    BS

    退格 (Ctrl/H)

    09

    HT

    水平制表栏 (Ctrl/I)

    0A

    LF

    换行 (Ctrl/J)

    0B

    VT

    垂直制表栏 (Ctrl/K)

    0C

    FF

    换页 (Ctrl/L)

    0D

    CR

    回车 (Ctrl/M)

    0E

    SO

    移出 (Ctrl/N)

    0F

    SI

    移入 (Ctrl/O)

    10

    DLE

    数据链接丢失 (Ctrl/P)

    11

    DC1

    设备控制 1 (Ctrl/Q)

    12

    DC2

    设备控制 2 (Ctrl/R)

    13

    DC3

    设备控制 3 (Ctrl/S)

    14

    DC4

    设备控制 4 (Ctrl/T)

    15

    NAK

    否定接受 (Ctrl/U)

    16

    SYN

    同步闲置符 (Ctrl/V)

    17

    ETB

    传输块结束 (Ctrl/W)

    18

    CAN

    取消 (Ctrl/X)

    19

    EM

    媒体结束 (Ctrl/Y)

    1A

    SUB

    替换 (Ctrl/Z)

    1B

    ESC

    换码符

    1C

    FS

    文件分隔符

    1D

    GS

    组分隔符

    1E

    RS

    记录分隔符

    1F

    US

    单位分隔符

    ASCII 特殊和数字字符

    20

    SP

    空格

    21

    !

    感叹号

    22

    "

    引号 (双引号)

    23

    #

    数字符号

    24

    $

    美元符

    25

    %

    百分号

    26

    &

    和号

    27

    "

    省略号 (单引号)

    28

    (

    左圆括号

    29

    )

    右圆括号

    2A

    *

    星号

    2B

     

    加号

    2C

    ,

    逗号

    2D

    --

    连字号或减号

    2E

    .

    句点或小数点

    2F

    /

    斜杠

    30

    0

    31

    1

    1

    32

    2

    2

    33

    3

    3

    34

    4

    4

    35

    5

    5

    36

    6

    6

    37

    7

    7

    38

    8

    8

    39

    9

    9

    3A

    :

    冒号

    3B

    ;

    分号

    3C

    <

    小于

    3D

    =

    等于

    3E

    >

    大于

    3F

    ?

    问号

    ASCII 字母字符

    40

    @

    商业 at 符号

    41

    A

    大写字母 A

    42

    B

    大写字母 B

    43

    C

    大写字母 C

    44

    D

    大写字母 D

    45

    E

    大写字母 E

    46

    F

    大写字母 F

    47

    G

    大写字母 G

    48

    H

    大写字母 H

    49

    I

    大写字母 I

    4A

    J

    大写字母 J

    4B

    K

    大写字母 K

    4C

    L

    大写字母 L

    4D

    M

    大写字母 M

    4E

    N

    大写字母 N

    4F

    O

    大写字母 O

    50

    P

    大写字母 P

    51

    Q

    大写字母 Q

    52

    R

    大写字母 R

    53

    S

    大写字母 S

    54

    T

    大写字母 T

    55

    U

    大写字母 U

    56

    V

    大写字母 V

    57

    W

    大写字母 W

    58

    X

    大写字母 X

    59

    Y

    大写字母 Y

    5A

    Z

    大写字母 Z

    5B

    [

    左中括号

    5C

    \

    反斜杠

    5D

    ]

    右中括号

    5E

    ^

    音调符号

    5F

    _

    下划线

    60

    `

    重音符

    61

    a

    小写字母 a

    62

    b

    小写字母 b

    63

    c

    小写字母 c

    64

    d

    小写字母 d

    65

    e

    小写字母 e

    66

    f

    小写字母 f

    67

    g

    小写字母 g

    68

    h

    小写字母 h

    69

    i

    小写字母 i

    6A

    j

    小写字母 j

    6B

    k

    小写字母 k

    6C

    l

    小写字母 l

    6D

    m

    小写字母 m

    6E

    n

    小写字母 n

    6F

    o

    小写字母 o

    70

    p

    小写字母 p

    71

    q

    小写字母 q

    72

    r

    小写字母 r

    73

    s

    小写字母 s

    74

    t

    小写字母 t

    75

    u

    小写字母 u

    76

    v

    小写字母 v

    77

    w

    小写字母 w

    78

    x

    小写字母 x

    79

    y

    小写字母 y

    7A

    z

    小写字母 z

    7B

    {

    左大括号

    7C

    |

    垂直线

    7D

    }

    右大括号 (ALTMODE)

    7E

    ~

    代字号 (ALTMODE)

    7F

    DEL

    擦掉 (DELETE)

    控制字符

    80

     

    [保留]

    81

     

    [保留]

    82

     

    [保留]

    83

     

    [保留]

    84

    IND

    索引

    85

    NEL

    下一行

    86

    SSA

    被选区域起始

    87

    ESA

    被选区域结束

    88

    HTS

    水平制表符集

    89

    HTJ

    对齐的水平制表符集

    8A

    VTS

    垂直制表符集

    8B

    PLD

    部分行向下

    8C

    PLU

    部分行向上

    8D

    RI

    反向索引

    8E

    SS2

    单移 2

    8F

    SS3

    单移 3

    90

    DCS

    设备控制字符串

    91

    PU1

    专用 1

    92

    PU2

    专用 2

    93

    STS

    设置传输状态

    94

    CCH

    取消字符

    95

    MW

    消息等待

    96

    SPA

    保护区起始

    97

    EPA

    保护区结束

    98

     

    [保留]

    99

     

    [保留]

    9A

     

    [保留]

    9B

    CSI

    控制序列引导符

    9C

    ST

    字符串终止符

    9D

    OSC

    操作系统命令

    9E

    PM

    秘密消息

    9F

    APC

    应用程序

    其他字符

    A0

     

    [保留] 2

    A1

    ?

    反向感叹号

    A2

    ?

    分币符

    A3

    ?

    英磅符

    A4

     

    [保留] 2

    A5

    ?

    人民币符

    A6

     

    [保留] 2

    A7

    §

    章节符

    A8

    ¤

    通用货币符号 2

    A9

    ?

    版权符号

    AA

    ?

    阴性顺序指示符

    AB

    ?

    左角引号

    AC

     

    [保留] 2

    AD

     

    [保留] 2

    AE

     

    [保留] 2

    AF

     

    [保留] 2

    B0

    °

    温度符

    B1

    ±

    加/减号

    B2

    ?

    上标 2

    B3

    ?

    上标 3

    B4

     

    [保留] 2

    B5

    ?

    微符

    B6

    ?

    段落符,pilcrow

    B7

    ·

    中点

    B8

     

    [保留] 2

    B9

    ?

    上标 1

    BA

    ?

    阳性顺序指示符

    BB

    ?

    右角引号

    BC

    ?

    分数四分之一

    BD

    ?

    分数二分之一

    BE

     

    [保留] 2

    BF

    ?

    反向问号

    C0

    ?

    带重音符的大写字母 A

    C1

    ?

    带尖锐重音的大写字母 A

    C2

    ?

    带音调符号的大写字母 A

    C3

    ?

    带代字号的大写字母 A

    C4

    ?

    带元音变音 (分音符号) 的大写字母 A

    C5

    ?

    带铃声的大写字母 A

    C6

    ?

    大写字母 AE 双重元音

    C7

    ?

    带变音符号的大写字母 C

    C8

    ?

    带重音符的大写字母 E

    C9

    ?

    带尖锐重音的大写字母 E

    CA

    ?

    带音调符号的大写字母 E

    CB

    ?

    带元音变音 (分音符号) 的大写字母 E

    CC

    ?

    带重音符的大写字母 I

    CD

    ?

    带尖锐重音的大写字母 I

    CE

    ?

    带音调符号的大写字母 I

    CF

    ?

    带元音变音 (分音符号) 的大写字母 I

    D0

     

    [保留] 2

    D1

    ?

    带代字号的大写字母 N

    D2

    ?

    带重音符的大写字母 O

    D3

    ?

    带尖锐重音的大写字母 O

    D4

    ?

    带音调符号的大写字母 O

    D5

    ?

    带代字号的大写字母 O

    D6

    ?

    带元音变音 (分音符号) 的大写字母 O

    D7

    OE

    大写字母 OE 连字 2

    D8

    ?

    带斜杠的大写字母 O

    D9

    ?

    带重音符的大写字母 U

    DA

    ?

    带尖锐重音的大写字母 U

    DB

    ?

    带音调符号的大写字母 U

    DC

    ?

    带元音变音 (分音符号) 的大写字母 U

    DD

    Y

    带元音变音 (分音符号) 的大写字母 Y

    DE

     

    [保留] 2

    DF

    ?

    德语高调小写字母 s

    E0

    à

    带重音符的小写字母 a

    E1

    á

    带尖锐重音的小写字母 a

    E2

    ?

    带音调符号的小写字母 a

    E3

    ?

    带代字号的小写字母 a

    E4

    ?

    带元音变音 (分音符号) 的小写字母 a

    E5

    ?

    带铃声的小写字母 a

    E6

    ?

    小写字母 ae 双重元音

    E7

    ?

    带变音符号的小写字母 c

    E8

    è

    带重音符的小写字母 e

    E9

    é

    带尖锐重音的小写字母 e

    EA

    ê

    带音调符号的小写字母 e

    EB

    ?

    带元音变音 (分音符号) 的小写字母 e

    EC

    ì

    带重音符的小写字母 i

    ED

    í

    带尖锐重音的小写字母 i

    EE

    ?

    带音调符号的小写字母 i

    EF

    ?

    带元音变音 (分音符号) 的小写字母 i

    F0

     

    [保留] 2

    F1

    ?

    带代字号的小写字母 n

    F2

    ò

    带重音符的小写字母 o

    F3

    ó

    带尖锐重音的小写字母 o

    F4

    ?

    带音调符号的小写字母 o

    F5

    ?

    带代字号的小写字母 o

    F6

    ?

    带元音变音 (分音符号) 的小写字母 o

    F7

    oe

    小写字母 oe 连字 2

    F8

    ?

    带斜杠的小写字母 o

    F9

    ù

    带重音符的小写字母 u

    FA

    ú

    带尖锐重音的小写字母 u

    FB

    ?

    带音调符号的小写字母 u

    FC

    ü

    带元音变音 (分音符号) 的小写字母 u

    FD

    ?

    带元音变音 (分音符号) 的小写字母 y 2

    FE

     

    [保留] 2

    FF

     

    [保留] 2

    Python实现

    asciiData.decode('ascii').encode('hex')
    

    BCD转十进制、十六进制

    BCD码(Binary-Coded Decimal‎)亦称二进码十进数或二-十进制代码。 用4位二进制数来表示1位十进制数中的0~9这10个数码。 是一种二进制的数字编码形式,用二进制编码的十进制代码。

    BCD码的优点

    这种编码形式使二进制和十进制之间的转换能够快捷进行。采用BCD码,既可保存数值的精确度,又可避免使电脑作浮点运算时所消耗的时间。

    BCD码分类

    (1)BCD码分为有权和无权两类:
    有权BCD码:8421码,2421码,5421码,…
    无权BCD码:余3码,格雷码,…
    其中,8421码是最常用的有权BCD码。
    (2)BCD码又可分为压缩式和非压缩式两类。

    各种BCD码的特点

    8421码编码直观,易于理解,最常用
    5421码和2421码中大于5的数字都是高位为1,5以下的高位为0
    余3码是在8421码基础上加上3,有上溢出和下溢出的空间

    转换规则

    8421码

    十进制数

    8421码

     

    0

    0000

    1

    0001

    2

    0010

    3

    0011

    4

    0100

    5

    0101

    6

    0110

    7

    0111

    8

    1000

    9

    1001

     

    其他较常用的BCD码         

    十进制数

    5421码

     

    2421码

    余3码

    0

    0000

    0000

    0011

    1

    0001

    0001

    0100

    2

    0010

    0010

    0101

    3

    0011

    0011

    0110

    4

    0100

    0100

    0111

    5

    1000

    1011

    1000

    6

    1001

    1100

    1001

    7

    1010

    1101

    1010

    8

    1011

    1110

    1011

    9

    1100

    1111

    1100

          

    ## C实现
    #include <stdio.h>
    #include <string.h>
     
    /
    //
    // 功能:二进制取反
    //
    // 输入: const unsigned char *src  二进制数据
    //      int length                待转换的二进制数据长度
    //
    // 输出: unsigned char *dst        取反后的二进制数据
    //
    // 返回: 0    success
    //
    //
    int convert(unsigned char *dst, const unsigned char *src, int length)
    {
            int i;
     
            for(i=0; i<length; i++)
            {
                    dst[i] = src[i]^0xFF;
            }
            return 0;
    }
     
    //
    //
    // 功能:十六进制转为十进制
    //
    // 输入: const unsigned char *hex          待转换的十六进制数据
    //      int length                       十六进制数据长度
    //
    // 输出:
    //
    // 返回: int  rslt                        转换后的十进制数据
    //
    // 思路:十六进制每个字符位所表示的十进制数的范围是 0 ~255 ,进制为 256
    //      左移 8 位 (<<8) 等价乘以 256
    //
    /
    unsigned long HextoDec(const unsigned char *hex, int length)
    {
        int i;
        unsigned long rslt = 0;
     
        for(i=0; i<length; i++)
        {
            rslt += (unsigned long)(hex[i])<<(8*(length-1-i));
                                                             
        }
     
        return rslt;
    }
     
     
    /
    //
    // 功能:十进制转十六进制
    //
    // 输入: int dec                     待转换的十进制数据
    //      int length                  转换后的十六进制数据长度
    //
    // 输出: unsigned char *hex          转换后的十六进制数据
    //
    // 返回: 0    success
    //
    // 思路:原理同十六进制转十进制
    //
    int DectoHex(int dec, unsigned char *hex, int length)
    {
        int i;
     
        for(i=length-1; i>=0; i--)
        {
            hex[i] = (dec%256)&0xFF;
            dec /= 256;
        }
     
        return 0;
    }
     
    /
    //
    // 功能:求权
    //
    // 输入: int base                    进制基数
    //      int times                   权级数
    //
    // 输出:
    //
    // 返回: unsigned long               当前数据位的权
    //
    //
    unsigned long power(int base, int times)
    {
        int i;
        unsigned long rslt = 1;
     
        for(i=0; i<times; i++)
            rslt *= base;
     
        return rslt;
    }
     
    /
    //
    // 功能: BCD 转 10 进制
    //
    // 输入: const unsigned char *bcd     待转换的 BCD 码
    //      int length                   BCD 码数据长度
    //
    // 输出:
    //
    // 返回: unsigned long               当前数据位的权
    //
    // 思路:压缩 BCD 码一个字符所表示的十进制数据范围为 0 ~ 99, 进制为 100
    //      先求每个字符所表示的十进制值,然后乘以权
    //
    unsigned long  BCDtoDec(const unsigned char *bcd, int length)
    {
         int i, tmp;
         unsigned long dec = 0;
     
         for(i=0; i<length; i++)
         {
            tmp = ((bcd[i]>>4)&0x0F)*10 + (bcd[i]&0x0F);   
            dec += tmp * power(100, length-1-i);          
         }
     
         return dec;
    }
     
    /
    //
    // 功能:十进制转 BCD 码
    //
    // 输入: int Dec                      待转换的十进制数据
    //      int length                   BCD 码数据长度
    //
    // 输出: unsigned char *Bcd           转换后的 BCD 码
    //
    // 返回: 0  success
    //
    // 思路:原理同 BCD 码转十进制
    //
    //
    int DectoBCD(int Dec, unsigned char *Bcd, int length)
    {
         int i;
         int temp;
     
         for(i=length-1; i>=0; i--)
         {
             temp = Dec%100;
             Bcd[i] = ((temp/10)<<4) + ((temp%10) & 0x0F);
             Dec /= 100;
         }
     
         return 0;
    }
    //------------- 函数信息 ------------------------------------------
    // 函 数 名 : BCDtoDec
    // 函数描述 : BCD 码转换成十进制码
    // 入口参数 : temp: 转化的 BCD 码
    // 返     回 : 转化后的十进制码
    // 作     者 :
    // 日     期 : 2006.11.24
    // 说     明 :
    //
    //---------------------------------------------------------------
    uint8  BCDtoDec( uint8 temp )
    {
    return ( ( temp/16 )*10+temp%16) ;
    }
     
     
     
     
    //------------- 函数信息 ------------------------------------------
    // 函 数 名 : DectoBCD
    // 函数描述 : 十 / 十六进制码转换成 BCD 码
    // 入口参数 : temp: 转化的十进制码
    // 返     回 : 转化后的 BCD 码
    // 作     者 :
    // 日     期 : 2006.11.24
    // 说     明 :
    //
    //---------------------------------------------------------------
    uint8 DectoBCD( uint8 temp )
    {
    return ( (temp/10)*16 + temp%10 ) ;
    }
    
    
    展开全文
  • 十进制转换为十六进制,也就是 采用 除k取余法 ,直接让10处以16,再对 数据如果小于10和大于10进行处理,代码如下: #include<iostream> #include<string> using namespace std; int main() { ...

    十进制转换为十六进制,也就是 采用 除k取余法 ,直接让10处以16,再对 数据如果小于10和大于10进行处理,代码如下:

     

    #include<iostream>
    #include<string>
    using namespace std;
    int main()
    {
    	long a;//输入的数
    	int y=0;//循环中的余数
    	string s="";//输出的结果
    	cin>>a;
    	if(a==0)//0比较特殊,单独处理
    	{
    	cout<<0;
    	return 0;
    	}
     
    	while(a>0)//大于0的数
    	{
    		y=a%16;  //求余
    		if(y<10)   //小于10的余数
    		s=char('0'+y)+s;  //利用字符的ascll码在字符串前面拼接
    		else
    		s=char('A'-10+y)+s;  //大于9的余数用ABCDE表示
    		a=a/16;   
    	}
    	cout<<s;
    	return 0;
    }

     

    十六进制转换为10进制,采取的是 乘以16

    #include<iostream>  
    #include<string>  
    #include<math.h>  
    using namespace std;  
      
    int main()  
    {  
        string s;  
        int i=0,count,sum;  
        while(getline(cin,s))  
        {  
            int count=s.length();  
            sum=0;  
            for(i=count-1;i>=0;i--)//从十六进制个位开始,每位都转换成十进制  
            {  
                if(s[i]>='0'&&s[i]<='9')//数字字符的转换  
                {  
                    sum+=(s[i]-48)*pow(16,count-i-1);  
                }  
                else if(s[i]>='A'&&s[i]<='F')//字母字符的转换  
                {  
                    sum+=(s[i]-55)*pow(16,count-i-1);  
                }  
            }  
            cout<<sum;  
        }  
    }  

     

    十进制 转换为 二进制,采取的是 除2取余法,其中把 2 换成其他小于10的数,可以变成相应的 其他进制

     

    #include<iostream>
    
    using namespace std;
    
    int main(){
    	int a;
    	cin>>a;
    	int result=0;
    	int temp=a;
    	int j=1;
    	while(temp){
    		result=result+j*(temp%2);
    		temp=temp/2;
    		j=j*10;
    	}
    	
    	cout<<result<<endl;
    	
    	
    	return 0;
    } 

     

    展开全文
  • 十六进制转十进制 DATAS SEGMENT dbuf dw 3039H;16进制数3039H为10进制数12345 dval db 5 dup (?);存放转换后的数据 dlen =$-dbuf DATAS ENDS STACKS SEGMENT ;此处输入堆栈段代码 STACKS ENDS CODES ...
  • 1.十六进制转八进制 见例题: 问题描述  给定n个十六进制正整数,输出它们对应的八进制数。 输入格式  输入的第一行为一个正整数n (1&lt;=n&lt;=10)。  接下来n行,每行一个由09、大写字母AF组成的字符...
  • 十六进制以内任意进制数转十进制的C语言实现#include #include #include #include #include int parseInt(char *str, int type) { int value = 0; //int length = strlen(str) - 1; char tmpChar; while...
  • 基础练习 十六进制转十进制 时间限制:1.0s 内存限制:512.0MB 问题描述  从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。  注:十六进制数中的10~15分别用大写的英文字母A...
  • 二进制、八进制、十进制十六进制关系及转换

    万次阅读 多人点赞 2019-02-21 21:20:22
    二进制,八进制,十进制十六进制之间的关系是什么?浮点数是什么回事? 本文内容参考自王达老师的《深入理解计算机网络》一书&amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;中国水利水电出版社&amp;amp;amp;amp...
  • 十六进制 --> 十进制–> 二进制 转换过程 A(十六进制) = 1010(二进制)=10(十进制) B(十六进制) = 1011(二...十六进制转换有16进制每一位上可以是从小到大为0、12、3、4、5、6、7、8、9、A、B、C、D、E、F16个
  • 十进制转十六进制

    2019-04-05 13:41:36
    它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E...
  • 函数原型:   ...1 ...2 ...//二进制 ...char *ConvertTo2String(long number);...//转十六进制 char *ConvertTo16String(long number);  思路:  转换二进制很简单,二步操作即可完成
  • ----------- android培训、java培训、java...23十进制  0-9逢10进1  023 八进制 0-7 逢8进1 用0开头表示 0x4a2c 十六进制 0-9 A-F 逢16进1 用0x开头表示 二进制 逢21 10101010 二进制基本单位是位【字节是由8
  • 功能:十进制转换二,八,十六进制 及 二,八,十六进制转十进制
  • 蓝桥杯基础练习 十六进制转十进制

    万次阅读 2021-02-13 11:58:11
     从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。  注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。 样例输入 FFFF 样例输出 65535 代码1,简洁明了: #...
  • 十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11, 以此类推,十进制的30在十六进制中是1E。  给出一个非负整数,将它表示成十六进制的形式。 输入格式  输入包...
  • java进制转换(十进制转八进制,十进制转二进制,十六进制转八进制) 这几天在复习C语言的数据结构栈和队列那一章的时候,看到利用栈的特性FILO实现的进制转换十分简洁 想起了java中实现栈的操作十分方便(不用...
  • 十进制转八进制、十六进制 问题描述  十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以...
  • JAVA十六进制转十进制: /** * 16进制转10进制 * * @param hex * @return */ public static int hex2decimal(String hex) { return Integer.parseInt(hex, 16); } 说明redis是进制可以是16进制...
  • 今天对十进制转二进制、十进制转十六进制,的讲解,日常生活中,我们用得最多的是十进制, 但是在C语言中我们都是使用二进制和十六进制。 二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示...
  • 它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E...
  • 蓝桥杯 基础练习(十) 十进制转十六进制 C语言

    千次阅读 多人点赞 2019-01-19 12:03:09
    十进制转十六进制 C语言 问题描述  十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十...
  • 十六进制和二进制相互转换(快速转换)

    千次阅读 多人点赞 2019-10-23 19:46:45
    简介: 二进制:逢21; 由0和1组成 十六进制:逢16进1, 十六进制由0-9,A-F组成 ...与十进制的对应关系 ...0 1 2 3 4 5 6 7 8 9 A B C D E F ...贴士:十六进制一般会以“0x”开头,或者以“H”结尾。 0x是1...
  • 十六进制转换为二进制很简单,我们首先要明白,一位十六进制代表四位二进制,如F对应二进制的1111,A代表二进制的1010,利用这种一一对应的关系,很容易就把十六进制转换为二进制,如0x1F6C,其中十六进制1对应二...
  • 蓝桥杯 十进制转十六进制

    千次阅读 2015-12-15 18:36:38
    基础练习 十进制转十六进制 时间限制:1.0s 内存限制:512.0MB   问题描述  十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制...
  • 基础练习 十进制转十六进制

    千次阅读 2015-04-06 19:43:16
    基础练习 十进制转十六进制 时间限制:1.0s 内存限制:512.0MB   问题描述  十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数...
  • 问题一:实现十六进制转化二进制以及十进制; 实验代码如下: #include &amp;amp;lt;stdio.h&amp;amp;gt; #include &amp;amp;lt;stdlib.h&amp;amp;gt; #include &amp;amp;lt;string.h&...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 53,036
精华内容 21,214
关键字:

十六进制1a2h转十进制