标签: octal

C函数从十进制转换为八进制

我正在处理一个函数问题,要求我们在C中编写一个函数,它将从十进制转换为八进制.这是我到目前为止所拥有的

int oct(int num) {
    if (num < 8) {
        return num;
    }
    else {

    }
}
Run Code Online (Sandbox Code Playgroud)

所以是的,我很卡住,非常感谢任何帮助谢谢

c function octal

-2
推荐指数
1
解决办法
5904
查看次数

C中按位运算中的模糊十六进制/八进制值

我觉得我遗漏了一些关于数字系统的基本知识,但我真的很困惑我正在尝试使用按位运算符的下面一段代码:

x=56;
printf("\nHere  :\n%x   %x\n",x,077);
x=x& ~077;
printf("%x\n",x);
Run Code Online (Sandbox Code Playgroud)

它将077视为八进制(hex 3f).如果我只放77,则将其视为十进制(十六进制4d).如果放177,则将其视为十进制(十六进制b1).我指的是Richie和Kernighan的C编程书.

请帮忙.

c hex bitwise-operators octal

-2
推荐指数
1
解决办法
303
查看次数

在C++中将无符号整数转换为八进制表示的最佳方法是什么?

目前我正在使用while循环:

std::string to_octal(unsigned int num)
{
    int place = 1, remainder, octal = 0;
    while (num != 0)
    {
        remainder = num % 8;
        decimal /= 8;
        octal += remainder * place;
        place *= 10;
    }
    return std::to_string(octal);
}

unsigned int to_num(std::string octal)
{
    unsigned int octal_n = std::stoi(octal);
    int place = 1, remainder, num = 0;
    while (num != 0)
    {
        remainder = octal_n % 10;
        octal_n /= 10;
        num += remainder * place;
        place *= 8; …
Run Code Online (Sandbox Code Playgroud)

c++ decimal octal

-3
推荐指数
1
解决办法
304
查看次数

为什么这个C++程序输出错误?

考虑以下计划:

#include <iostream>
int main()
{
    std::cout<<std::ios::showbase<<123<<", "<<std::hex<<123<<", "<<std::oct<<123<<'\n';
}
Run Code Online (Sandbox Code Playgroud)

预期输出:123,0x7b,0173

获得的输出:512123,7b,173(参见现场演示:http://ideone.com/Khzj5j )

但如果我稍微修改上述程序如下:

#include <iostream>
using namespace std;
int main()
{
    cout<<showbase<<123<<", "<<hex<<123<<", "<<oct<<123<<'\n';
}
Run Code Online (Sandbox Code Playgroud)

现在我得到了理想的输出.(请参阅http://ideone.com/gcuHbm上的现场演示).

为什么第一个程序输出不正确但第二个程序没有?第一个项目出了什么问题?

c++ hex iostream numeric octal

-5
推荐指数
1
解决办法
149
查看次数

标签 统计

octal ×4

c ×2

c++ ×2

hex ×2

bitwise-operators ×1

decimal ×1

function ×1

iostream ×1

numeric ×1