精华内容
下载资源
问答
  • 使用内置函数实现进制转换实现比较简单,主要用到以下函数:bin()、oct()、int()、hex()下面分别详解一下各个函数的使用(附实例)第一部分:其他进制转十进制1.二进制转十进制使用函数:int()实例:注意:上述一定...

    使用内置函数实现进制转换实现比较简单,主要用到以下函数:

    bin()、oct()、int()、hex()

    下面分别详解一下各个函数的使用(附实例)

    第一部分:其他进制转十进制

    1.二进制转十进制

    使用函数:int()

    实例:

    注意:上述一定不要忘记加引号,因为二进制是一个字符串

    如果不加引号会出现如下错误:

    Traceback (most recent call last):

    File "", line 1, in

    int(100,2)

    TypeError: int() can't convert non-string with explicit base

    2.八进制转十进制

    使用函数:int()

    实例:

    注意:上述一定不要忘记加引号,因为八进制是一个字符串

    3.十六进制转十进制

    使用函数:int()

    实例:

    注意:上述一定不要忘记加引号,因为十六进制是一个字符串

    第二部分:十进制转其他进制

    1.十进制转二进制

    使用函数:bin()

    bin()函数是讲整数转换成二进制字符串

    实例:

    注意:这里的0b100,其实就是100,0b的b是binary的意思

    2.十进制转八进制

    使用函数: oct()

    3.十进制转十六进制

    使用函数:hex()

    实例:

    展开全文
  • 16进制 10进制00 001 102 2.. .09 90A 100B 110C 120D 130E 140F 1510 161F 3120 32将数字符号按序排列成数位,并遵照某种由低位到高位的进位 方式计数表示数值的方法,...

    16进制 10进制

    00 0

    01 1

    02 2

    .. .

    09 9

    0A 10

    0B 11

    0C 12

    0D 13

    0E 14

    0F 15

    10 16

    1F 31

    20 32

    将数字符号按序排列成数位,并遵照某种由低位到高位的进位 方式计数表示数值的方法,称作进位计数制。

    1. 十进制

    十进制计数制由 0、 1、 2、 3、 4、 5、 6、 7、 8、 9共 10个数字符号组成。相同数字符号在不同的数位上表示不同的数值,每个数位计满十就向高位进一,即 “逢十进一 ”。

    如: 555.5可以表示成

    555.5= 5×100+5×10+5×1+5×( 1/10)

    一个任意的十进制数都可以表示成:

    2. 八进制

    八进制计数制由 0、 1、 2、 3、 4、 5、 6、 7共 8个数字符号组成。相同数字符号在不同的数位上表示不同的数值,每个数位计满八就向高位进一,即 “逢八进一 ”。

    如:( 555.5) 8 可以表示成

    ( 555.5) 8 = 5×16+5×8+5×1+5×( 1/8)

    一个任意的十进制数都可以表示成:

    3. 二进制

    二进制计数制由 0和 1共 2个数字符号组成。相同数字符号在不同的数位上表示不同的数值,每个数位计满二就向高位进一,即 “逢二进一 ”。

    如:( 1011.1) 2 = 1×8+0×4+1×2+1×1+1×( 1/2)

    一个任意的二进制数都可以表示成:

    4. 其他进制

    在日常生活和日常工作中还会使用其他进制数。如:十二进制数、十六进制数、百进制数和千进制数等。无论哪种进制数,表示的方法都是类似的。如:十六进制数由 0、 1、 2、 3、 4、 5、 6、 7、 8、 9、 A、 B、 C、 D、 E和 F共十六个符号组成, “逢十六进一 ”。不同的是用 A、 B、 C、 D、 E和 F分别表示 10、 11、 12、 13、 14和 15六个数字符号。

    5. 基数与权

    某进制计数制允许选用的基本数字符号的个数称为基数。一般而言, J进制数的基数为 J,可供选用的基本数字符号有 J个,分别为 0到 J- 1,每个数位计满 J就向高位进一,即 “逢 J进一 ”。

    某进制计数制中各位数字符号所表示的数值表示该数字符号值乘以一个与数字符号有关的常数,该常数称为 “位权 ”(简称 “权 ”)。位权的大小是以基数为底,数字符号所处的位置的序号为指数的整数次幂。

    十进制数允许使用十个基本数字符号,所以基数为 10,每位数字符号代表的位数的大小是以 10为底,数字符号所处位置的序号为指数的整数次幂。

    为了表达方便起见,常在数字后加一缩写字母后缀作为不同进制数的标识。各种进制数的后缀字母分别为:

    B :二进制数。

    Q :八进制数。

    D :十进制数。

    H :十六进制数。

    对于十进制数通常不加后缀,也即十进制数后的字母 D 可省略。

    ( 1 )将二进制数转换成对应的十进制数

    将二进制数转换成对应的十进制数的方法是“按权展开求和”:

    利用二进制数按权展开的多项式之和的表达式,取基数为 2 ,逐项相加,其和就是对应的十进制数。

    例 1 :将二进制数 1011.1 转换成对应的十进制

    解: 1011.1B=1×2 3+0×2 2+1×2 1+1×2 0+1×2 -1

    =8+0+2+1+0.5

    =11.5D

    例2:

    ( 2 )将十进制数转换成对应的二进制数

    将十进制数转换为对应的二进制数的方法是:

    对于整数部分,用被除数反复除以 2 ,除第一次外,每次除以 2 均取前一次商的整数部分作被除数并依次记下每次的余数。另外,所得到的商的最后一位余数是所求二进制数的最高位。

    对于小数部分,采用连续乘以基数 2 ,并依次取出的整数部分,直至结果的小数部分为 0 为止。故该法称 “ 乘基取整法 ” 。

    例:将十进制 117.625D 转换成二进制数

    解:整数部分: “除以 2 取余,逆序输出”

    小数部分 : “乘以 2 取整,顺序输出”

    所以 117.625D = 1110101.101B

    例2:

    例3:

    特别提示:将十进制数转换成其他进制数方法与次上述方法类似。

    ( 3 )将二进制数转换为对应的八进制数

    由于 1 位八进制数对应 3 位二进制数,所以二进制数转换成八进制数时,只要以小数点为界,整数部分向左,小数部分向右每 3 位分成一组,各组用对应的 1 位八进制数字表示,即可得到对应的八进制数值。最左最右端分组不足 3 位时,可用 0 补足。

    例:将 1101101.10101B 转换成对应的八进制数。

    解:

    所以, 1101101.10101B = 155.52Q 。

    同理,用相反的方法可以将八进制数转换成对应的二进制数。

    ( 4 )将二进制数转为对应的十六进制数

    由于 1 位十六进制数对应 4 位二进制数,所以二进制数转换为十六进制时,只要以小数点为界,整数部分向左,小数部分向右每 4 位分成一组,各组用对应的 1 位十六进制数字表示,即可得到对应的十六进制数值。两端的分组不足 4 位时,用 0 补足。

    例:将 1101101.10101B 转换成对应的十六进制数

    解:

    所以 1101101.10101B = 6D.8AH 。

    同理,用相反的方法可以将十六进制数转换成对应的二进制数。

    例:将十六进制数 5DF.9 转换成二进制:

    例:将二进制数 1100001.111 转换成十六进制:

    至于其他的转换方法,如八进制到十进制,十六进制到十进制之间的转换,同样可用按权展开的多项式之和及整数部分用 “ 除基取整数 ” 来实现的。只不过此时基数分别为 8 和 16 。当然,更简单实用的方法是借用二进制数做桥梁,用 “ 八 —— 二 —— 十 ” 或 “ 十六 —— 二 —— 八 ” 的转换方法来实现

    展开全文
  • 十进制十六进制算法

    千次阅读 2021-05-21 16:51:56
    最简单的,不涉及算法的作法就是用printf的输出格式 %x 输出16进制%x 输出小写的a、b、c、d、e、f %X输出大写的A、B、C、D、E、F#include"stdio.h"int main(){int a;printf("请输入一个10进制整数:" );scanf( "%d",...

    最简单的,不涉及算法的作法就是用printf的输出格式 %x 输出16进制

    %x 输出小写的a、b、c、d、e、f %X输出大写的A、B、C、D、E、F

    #include"stdio.h"

    int main()

    {

    int a;

    printf("请输入一个10进制整数:" );

    scanf( "%d", &a);

    printf("该数转换为16进制数为: %X\n",a);

    return 0;

    }

    详细的转化方法:

    #include

    int x[100];

    int jzzh(int y,int ml)

    {

    int i,a;

    i=ml;

    x[0]=0;

    for(a=1;;a++)

    {

    if(i!=0)

    {

    x[a]=i%y;

    x[0]++;

    }

    else

    break;

    i=i/y;

    }

    return x[0];

    }

    int main()

    {

    long int y,ml;

    long int a;

    printf("请输入需要转换至进制数:");

    scanf("%d",&y);

    printf("请输入数字:");

    scanf("%d",&ml);

    jzzh(y,ml);

    for(a=x[0];a>=1;a--)

    {

    if(x[a]>=10)

    {

    printf("%c",x[a]+55);

    }

    else

    {

    printf("%d",x[a]);

    }

    }

    printf("\n");

    return 0;

    }

    追问

    就我这个题而言

    void f( long int x, char *p ){

    sprintf(p,"%X",x);p++;

    }

    我这个为啥不对

    展开全文
  • 5621转换为16进制数的方法是“除16取余”方法,5621/16=商351余5,16进制最后一位为5351/16=商21余15,16进制右边第二位为F21/16=商1余5,16进制右边第三位为51/16=商0余1,16进制数右边第四为为1商0就不继续...

    5621转换为16进制数的方法是“除16取余”方法,

    5621/16=商351余5,16进制最后一位为5

    351/16=商21余15,16进制右边第二位为F

    21/16=商1余5,16进制右边第三位为5

    1/16=商0余1,16进制数右边第四为为1

    商0就不继续除了最后的结果为15F5#include

    #include

    using namespace std;

    // 整数转换成字符串

    string int2str( int num);

    int main(int argc, char* argv[])

    {

    // 十进制转十六进制

    int num = 0;

    cout<

    cin>>num;

    string str_num;

    while(num / 16 != 0)

    {

    int a = num / 16;

    int mod_a = num % 16;

    cout<

    string s;

    switch(mod_a)

    {

    case 10:

    s = 'A';

    break;

    case 11:

    s = 'B';

    break;

    case 12:

    s = 'C';

    break;

    case 13:

    s = 'D';

    break;

    case 14:

    s = 'E';

    break;

    case 15:

    s = 'F';

    break;

    default:

    s = int2str(mod_a);

    break;

    }

    str_num = s + str_num;

    num = a;

    }

    if(num % 16 != 0)

    {

    int last_a = num % 16;

    str_num = int2str(last_a) + str_num;

    }

    cout<

    return 0;

    }

    string int2str( int num)

    {

    if (num == 0 )

    return " 0 " ;

    string str = "" ;

    int num_ = num > 0 ? num : - 1 * num;

    while (num_)

    {

    str = ( char )(num_ % 10 + 48 ) + str;

    num_ /= 10 ;

    }

    if (num < 0 )

    str = " - " + str;

    return str;

    }

    展开全文
  • Q1:C语言编程,输入十进制数输出十六进制和八进制可以通过下面的公式解决#includeconst int maxn = 128;const int index8 = 8;const int index16 =16;int main(){int Array8[maxn];int Array16[maxn];int n, cot8 =...
  • 我们处理的整数通常用十进制表示,在计算机内存中是以二进制补码形式存储,但通常二进制表示的整数比较长,为了便于在程序设计过程中理解处理数据,通常采用八进制和十六进制,缩短了二进制补码表示的整数,但保持...
  • 十进制十六进制 (30分)这是一个编程题模板。请在这里写题目描述。例如:本题目要求读入2个整数AB,然后输出它们的。输入格式:请在这里写输入格式。例如:输入在一行中给出2个绝对值不超过1000的整数AB。输出...
  • 在处理报文数据时,出现了十六进制两字节带符号整型数据,由于python没有这个类型,所以需要自己转换,我参考了一些资料,写出了python对应的代码。 https://blog.csdn.net/happygrilclh/article/details/106194107...
  • 我们刚刚学习了二进制与十进制的转换,那么八进制和十六进制怎样和十进制进行转换呢?我们又该怎样去做?我们能不能借鉴一下刚才的方法?为什么? 学生分组讨论,教师巡视、指导。 (学生回答,教师总结) ⒌八进制...
  • 在C#中,十进制和十六进制转换非常简单,方法如下: 十进制转为十六进制: 1 int a = 100; 2 String strA = a.ToString("x8"); 十六进制转为十进制: 1 int b= Int32.Parse("266", System.Globalization....
  • 对于基础薄弱的读者,本节的内容可能略显晦涩枯燥,如果觉得吃力,可以暂时跳过,用到的时候再来...将二进制、八进制、十六进制转换为十进制二进制、八进制和十六进制十进制转换都非常容易,就是“按权相加”。...
  • printf("请输入要转换的十进制数:"); scanf("%d", &m); printf("\n"); printf("请输入转换进制:\n"); printf("******************************\n"); printf("* 请选择一个你要转换的进制 *\n"); printf("* 1.二...
  • 十进制数 d = 15,转为十六进制数 h ? // 十进制数 var d = 15; // 十六进制数 var h = d.toString(16); // 'f' 二进制数 b = ‘1111’,转为十进制数 d ? // 二进制数 var b = "1111"; // 十进制数 var d = ...
  • 大家好,我是Beta,今天给大家分享C语言字符转化方法 例如我们要将ASCII码的’59’转为十进制的59,请看下面程序 ...示 例:输入ASCII字符参数'5''9'(即0x350x39),返回十进制数59 **********************
  • JAVA十进制十六进制相互转换

    千次阅读 2020-12-18 17:05:55
    JAVA十进制十六进制相互转换 十进制十六进制: String.format("%08x", 645741568); 十六进制十进制: Long.parseLong("267d3c00", 16); 测试代码如下: public static void main(String[] args) { //十进制...
  • 十进制十六进制计算器十进制十六进制:进制:进制:转换说明:上面第一行可将十进制转换为十六进制,第二行可以将任意进制转换为任意进制。64个基数为:"[emailprotected]"注意:本工具只是各种进制计数法的数...
  • //十进制转换成其他进制 var remainders = []; var remainder = ''; while (dexNumber > 0) { //取余 remainders.push(dexNumber % hexadecimalNum); //取整 dexNumber = parseInt(dexNumber / ...
  • 1、小数的十进制转换成十六进制的方法: 十进制小数转十六进制小数,方法为乘十六取整,每次乘以相应之后基数后取结果的整数部分即可。需要注意的是并非所有的十进制小数都能完全转化为十六进制小数,这时就需要取...
  • python 十进制十六进制 蓝桥

    千次阅读 2021-03-11 20:50:23
    十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。 给出一个非负整数,将它表示成十六进制的形式。   输入格式 输入包含一个...
  • 十进制十六进制(C++语言实现) 十进制数字每位有十个可能的值:0-9。 而十六进制则是在这些数字的基础上加了A、B、C、D、E、F,这五个字母。 下面附上C++代码: #include <iostream> #include <string....
  • /**** Copyright(C) 2011, SKYCNC* All rights reserved** 程序名称:dec_to_bin_oct_hex* 功 能:输入一个十进制数,将其转化为二进制、八进制、十六进制** 作 者:zhanghbboy* 完成日期:11.07.27****/#include#...
  • 一.直接使用Java里面... Integer.toHexString(data) //data为十进制,抓换成十六进制 System.out.println(Integer.toBinaryString(100)); // 将100转换成二进制输出 System.out.println(Integer.toHexStr...
  • 进制的相互转换4.1 二进制与十进制的相互转化4.2 二进制与十六进制的相互转换4.3 十进制十六进制的相互转换5. 人类为什么最习惯用十进制6. 计算机为什么用的是二进制小结 1. 进制的定义 首先我们需要先了解什么是...
  • 十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。 给出一个非负整数,将它表示成十六进制的形式。 格式说明 输入格式: ...
  • 一、十进制转换二进制 十进制转换成二进制,通过除二取余的办法,得到的数倒序排列,高位补0。 将正的十进制数除以二,得到的商再除以二,依次类推直至商为0或1时为止,然后在旁边标出各步的余数,最后倒着写出来...
  • 各种十进制十六进制的方法

    千次阅读 2021-07-22 08:14:08
    写程序时我们经常遇到进制转换的问题,最常见的就是十进制和十六进制之间的转换,这篇就记录一下如何从十进制转换为十六进制十进制十六进制字符串输出 char *itoa(int value,char*str,int base) 使用itoa...
  • 十进制(Decimal)字面量无前缀。 十六进制(Hex):0x或0X。 code public class Test { public static void main(String[] args) { System.out.println(0B101); // binary System.out.println(012); // Octol
  • //十进制数字:16, 十六进制表示:2a Integer num = new Integer(26); //十进制转换十六进制字符串 String numHex = Integer.toHexString(num); System.out.println(numHex); // 十六进制字符串转换为十进制数字 ...
  • Python 十进制转为十六进制

    千次阅读 2020-12-23 11:20:57
    代码 data_hex = hex(16) data_hex2dec = int(data_hex, 16) print("16进制:{}\n10进制:{}".format(data_hex, data_hex2dec)) 结果 16进制:0x10 10进制:16

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 198,485
精华内容 79,394
关键字:

十进制和十六进制的区别