精华内容
下载资源
问答
  • 八进制十进制互相变换。案例 - 十进制转换为八进制#include #include int convertDecimalToOctal(int decimalNumber);int main(){int decimalNumber;printf("键入一个十进制数: ");scanf("%d", &decimalNumber...

    八进制与十进制互相变换。

    案例 - 十进制转换为八进制

    #include

    #include

    int convertDecimalToOctal(int decimalNumber);

    int main()

    {

    int decimalNumber;

    printf("键入一个十进制数: ");

    scanf("%d", &decimalNumber);

    printf("十进制数 %d 变换为八进制为 %d", decimalNumber, convertDecimalToOctal(decimalNumber));

    return 0;

    }

    int convertDecimalToOctal(int decimalNumber)

    {

    int octalNumber = 0, i = 1;

    while (decimalNumber != 0)

    {

    octalNumber = (decimalNumber % 8) * i;

    decimalNumber /= 8;

    i *= 10;

    }

    return octalNumber;

    }

    輸出結果为:

    键入一个十进制数: 78十进制数 78 变换为八进制为 116

    案例 - 八进制变换为十进制

    #include

    #include

    long long convertOctalToDecimal(int octalNumber);

    int main()

    {

    int octalNumber;

    printf("键入一个八进制数: ");

    scanf("%d", &octalNumber);

    printf("八进制数 %d 变换为十进制为 %lld", octalNumber, convertOctalToDecimal(octalNumber));

    return 0;

    }

    long long convertOctalToDecimal(int octalNumber)

    {

    int decimalNumber = 0, i = 0;

    while(octalNumber != 0)

    {

    decimalNumber = (octalNumber) * pow(8,i);

    i;

    octalNumber/=10;

    }

    i = 1;

    return decimalNumber;

    }

    輸出結果为:

    键入一个八进制数: 116八进制数 116 变换为十进制为 78

    来源于:莫然blog,热烈欢迎共享文中!

    展开全文
  • 十进制转成八进制本计算器快速实现十进制数转换为八进制数!八进制十进制的转换(1)八进制转换为十进制方法:按权相加法,即将八进制每位上的数乘以位权,然后相加之和即是十进制数。例:①将八进制数67.35转换为...

    十进制转成八进制

    本计算器快速实现十进制数转换为八进制数!

    八进制与十进制的转换

    (1)八进制转换为十进制

    方法:按权相加法,即将八进制每位上的数乘以位权,然后相加之和即是十进制数。

    例:①将八进制数67.35转换为十进制

    (2)十进制转换为八进制

    十进制转换成八进制有两种方法:

    1)间接法:先将十进制转换成二进制,然后将二进制又转换成八进制

    2)直接法:前面我们讲过,八进制是由二进制衍生而来的,因此我们可以采用与十进制转换为二进制相类似的方法,还是整数部分的转换和小数部分的转换,下面来具体讲解一下:

    ①整数部分

    方法:除8取余法,即每次将整数部分除以8,余数为该位权上的数,而商继续除以8,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数起,一直到最前面的一个余数。

    ②小数部分

    方法:乘8取整法,即将小数部分乘以8,然后取整数部分,剩下的小数部分继续乘以8,然后取整数部分,剩下的小数部分又乘以8,一直取到小数部分为零为止。如果永远不能为零,就同十进制数的四舍五入一样,暂取个名字叫3舍4入。

    例:将十进制数796.703125转换为八进制数

    解:先将这个数字分为整数部分796和小数部分0.703125

    因此,得到结果十进制796.703125转换八进制为1434.55

    上面的方法大家可以验证一下,你可以先将十进制转换,然后在转换为八进制,这样看得到的结果是否一样

    在线十进制转成八进制

    十进制:

    八进制:

    更新:20210415 180817

    展开全文
  • 方法一:直接使用控制字符串 %o 八进制%x方法二:求余来算,比如求十进制数 x(x>100) 的8进制,先通过 x%8 可以得到个位(末位)上的数,当十进制数等于8时,必然会进位,求余的结果正好是不能进位的部分,x=x/8(这...

    方法一:直接使用控制字符串    %o 八进制%x

    方法二:

    求余来算,比如求十进制数 x(x>100) 的8进制,先通过 x%8 可以得到个位(末位)上的数,当十进制数等于8时,必然会进位,求余的结果正好是不能进位的部分,x=x/8(这就像位移,x的8进制数向右移了一位),这样已经求出来的 个位 位移后没有了,原来的十位变成了个位,继续把得到的x按上面的方式求末位,就能求出来十位,按照这种方式得到的 8进制数 是反的(先得到个位,再十位。。。),这样很适合放到栈中,取得时候又会反过来,伪代码可以这样写:

    while(x){

    printf("%d",x%n);//会打印出x转换为 N进制数 从低位到高位上的每一位数

    x/=n;

    }

    十进制转换N进制:

    #include

    #include

    #include

    typedef int INT;

    typedef struct dd

    {

    INT data;

    struct dd *next;

    }LNode,*LStack;

    LStack pushstack(LStack top,int x)

    {

    LStack p;

    p=(LStack)malloc(sizeof(LNode));

    if((x)!=-1) {p->data=(x);   p->next=top;   top=p;}

    return top;

    }

    LStack outstack(LStack top,int *x)

    {

    LStack p=top;

    *x=p->data;

    top=p->next;

    free(p);

    return top;

    }

    main()

    {

    int x,n;

    LStack top=NULL;

    printf("请输入原数及要转换的进制:");

    do{

    scanf("%d%d",&x,&n);    //输入一个十进制数和要转换的进制,比如3 2 得到1 }while(x>35||x<0||n<2);

    while(x){                             //这个循环把每一位放到栈中

    top=pushstack(top,x%n);

    x/=n;

    while(top!=NULL)

    {

    top=outstack(top,&x);

    if(x<10)

    printf("%c",x+'0');

    else

    printf("%c",x+'A'-10);

    }

    return 0;                                                                                                                                  }

    展开全文
  • 高手解释下#include#include#define STACK_INIT_SIZE 100;#define STACKINCREMENT 10;typede下面是我的代码,在C 上的报错很无语。。。高手解释下#include#include#define STACK_INIT_SIZE 100;#define ...

    下面是我的代码,在C 上的报错很无语。。。高手解释下

    #include

    #include

    #define STACK_INIT_SIZE 100;

    #define STACKINCREMENT 10;

    typede

    下面是我的代码,在C 上的报错很无语。。。高手解释下

    #include

    #include

    #define STACK_INIT_SIZE 100;

    #define STACKINCREMENT 10;

    typedef struct {

    int *base;

    int *top;

    int stacksize;

    }stack;

    void initstack(stack *S){

    S->base=(int *)malloc(STACK_INIT_SIZE*(int));

    if(!S->base){

    printf("error");

    }

    else{

    S->base=S->top;

    S->stacksize=STACK_INIT_SIZE;

    }

    }

    void Push(stack *S,int e){

    if(S->top-S->base>=S->stacksize){

    S->base=(int *)realloc( S->base,(S->stacksize STACKINCREMENT)*sizeof(int));

    S->top=S->base S->stacksize;

    S->stacksize =STACKINCREMENT;

    }

    *S->top =e;

    }

    void Pop(stack *S,int *e){

    if(S->base==S->top){

    exit(1);

    }

    *e=*S->top;

    S->top --;

    }

    void conversion(stack *S){

    long int N;int e;

    printf("输入一个十进制数:");

    scanf("%ld",&N);

    while(N){

    Push(S,N%8);

    N=N/8;

    }

    while(S->top!=S->base){

    Pop(S,&e);

    printf("%d",e);

    }

    }

    void main(){

    stack S;int i,e;

    initstack(&S);

    conversion(&S);

    }

    在线等候

    展开

    全部

    展开全文
  • C ++程序将十进制数转换为八进制

    千次阅读 2021-05-20 02:47:38
    在计算机系统中,八进制数字以八进制数字表示,而十进制数字以十进制数字表示。八进制数以8为底,十进制数以10为底。十进制数及其对应的八进制数的示例如下。小数八进制数81070106253177将十进制数转换为八进制的...
  • 八进制转十进制计算器八进制十进制:进制:进制:转换说明:上面第一行可将八进制转换为十进制,第二行可以将任意进制转换为任意进制。64个基数为:"[emailprotected]"八进制十进制算法八进制转换为十进制,...
  • 十进制转八进制

    2021-04-26 16:47:24
    十进制转成八进制本计算器快速实现十进制数转换为八进制数!八进制十进制的转换(1)八进制转换为十进制方法:按权相加法,即将八进制每位上的数乘以位权,然后相加之和即是十进制数。例:①将八进制数67.35转换为...
  • Java程序将十进制数转换为八进制

    千次阅读 2021-02-12 22:36:40
    java.lang.Integer类将原始类型int的值包装在对象中。类型为Integer的对象包含一个类型为int的字段。Integer类的toOctalString()方法将整数参数的字符串表示形式返回为以8为底的无符号整数。示例importjava.util....
  • Java程序八进制数与十进制相互转换在此程序中,您将学习如何使用Java中的函数将八进制数转换为十进制数,反之亦然。示例1:将十进制转换为八进制的程序publicclassDecimalOctal{publicstaticvoidmain(String[]args){...
  • } ********************************************************************** 另外,转八进制可以这样写 #include "stdio.h" int main() { int d; printf("请输入十进制数:"); scanf("%d",&d); printf("该数的...
  • 顺序栈实现十进制八进制之间的转换顺序栈实现十进制八进制之间的转换(1)首先实现栈的初始化,既申请固定大小的数组空间,存储数据,用到的方法是 int InitStack( struct sqstack *s );(2)接下来就是让数据入栈 ...
  • 十进制转换为八进制

    2021-11-19 13:11:21
    } 十进制转换为八进制函数 当十进制数不为零时,进行下列操作 把N与8求余得数压入栈 N更新为N与八得商 当栈非空时 弹出栈顶元素e 输出e void conversion(int N) { SqStack S; IninStack(S); int e; while(N) {...
  • 对于基础薄弱的读者,本节的内容可能略显晦涩和枯燥,如果觉得吃力,可以暂时跳过,用到的时候再来...将二进制、八进制、十六进制转换为十进制二进制、八进制和十六进制向十进制转换都非常容易,就是“按权相加”。...
  • 利用一个函数实现十进制数转换成二进制,八进制,十六进制。利用的是栈的后进先出的思想。算法简单。#include#include#include#define STACK_INIT_SIZE 100#define STACKINCREMENT 10#define OVERFLOW -2#define OK 1#...
  • #include#includetypedef int ElemType;typedef struct node{ElemType data;struct node *prior;}NODE;NODE *InitStack_Link(){NODE *top;top=NULL;return(top);}int StackEmpty_Link(NODE *top){if (top==NULL) ret...
  • 位置表示法(如十进制表示法)可以用类似于Peano编号描述的方式描述。让我们称这种表示Base10,它看起来是这样的: Base10 :== Zero | NonZero(q, r) where q is a Base10, and r is a digit. Digit :== ZeroD | ...
  • printf("请输入要转换的十进制数:"); scanf("%d", &m); printf("\n"); printf("请输入转换进制:\n"); printf("******************************\n"); printf("* 请选择一个你要转换的进制 *\n"); printf("* 1.二...
  • /*十进制到其它进制的转换*/# include # include # define N 8 //要转换成的进制# define INIT_SIZE 5 //栈的初始空间大小# define INC_SIZE 2 //栈空间增量//栈结构typedef struct{int * base; //指向栈底,也是栈...
  • 我们处理的整数通常用十进制表示,在计算机内存中是以二进制补码形式存储,但通常二进制表示的整数比较长,为了便于在程序设计过程中理解和处理数据,通常采用八进制和十六进制,缩短了二进制补码表示的整数,但保持...
  • //VC6.0下运行通过#define STACK_INIT_SIZE 100 //存储空间初始分配量#define STACKINCREMENT 10 //存储空间分配增量#define ERROR 0#define OVERFLOW -2#include typedef int SElemType;typedef struct {SElemType ...
  • C++:十进制转八进制

    千次阅读 2021-08-16 15:59:01
    设计一个函数toOcr(int n),实现把输入的一个十进制数转换为八进制数 1、运用数组 #include<iostream> using namespace std; int toOcr(int n); //调用函数 int main() { int num; cin>>num; ...
  • 问题:八进制十进制相互转换。 代码1:十进制转换为八进制 #include <stdio.h> #include <math.h> int convertDecimalToOctal(int decimalNumber); int main() { int decimalNumber; printf("输入一...
  • 先将一个十进制数转换成二进制数; (构造一个0 ~2^30的数组,用number和数组中每个元素逆序比大小, 如果number >= quan_arr[i], 就让number -= quan_arr[i]; 并且该位置的数就置为1,否则该位置的数置为0, ...
  • #include#include#define STACK_INIT_SIZE 100#define STACKINCREMENT 10typedef struct{int *base;int *top;int stacksize;}sqstack;int InitStack(sqstack &s){s.base=(int *)malloc(STACK_INIT_SIZE*sizeof(i...
  • I have this little homework assignment and I needed to convert decimal to octal and then octal to decimal. I did the first part and can not figure out the second to save my life. The first part went l...
  • #include#includevoid change2(int num){if (num != 0){change2(num / 2);printf("%d", num % 2);//printf函数在change2函数后,为逆序...printf("请输入要转换的十进制数: ");scanf("%d", &num);printf("转换...
  • php二进制、八进制十进制、十六进制相互转换二进制、八进制十进制、十六进制相互转换方法:除2取余,逆序排列,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤...
  • 题目:利用栈,将十进制数转换成八进制的数。在命令行运行: java ConversionTest xx yy zz ..xx yy zz为测试数据。// 十进制转换成八进制import java.util.*;// 不支持负数public class ConversionTest {public ...
  • 【问题描述】对于输入的任意一个非负十进制整数,打印输出与其等值的八进制数 【输入形式】非负十进制整数 【输出形式】相应十进制整数转换后的八进制正整数,若输入不符合要求,提示错误,重新输入 【样例输入】...
  • 2018-06-06根据输入的年月日,输出该日为该年度的第几周、第几天、//根据输入的年月日,输出该日为该年度的第几周、第几天、星期几。 //如输入: 2007,12,1 //则输出: 48z,335t,6xqint date[12]={31,28,31,30,31,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 177,441
精华内容 70,976
关键字:

十进制100转八进制