首页 > 试题广场 >

缩短二进制

[编程题]缩短二进制
  • 热度指数:140927 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解

我们处理的整数通常用十进制表示,在计算机内存中是以二进制补码形式存储,但通常二进制表示的整数比较长,为了便于在程序设计过程中理解和处理数据,通常采用八进制和十六进制,缩短了二进制补码表示的整,但保持了二进制数的表达特点。请输出十进制整数1234对应的八进制和十六进制。


输入描述:


输出描述:
十进制整数1234对应的八进制和十六进制(字母大写),用空格分开,并且要求,在八进制前显示前导0,在十六进制数前显示前导0X

备注:
printf可以使用使用格式控制串“%o”、“%X”分别输出八进制整数和十六进制整数,并使用修饰符“#”控制前导显示
#include <stdio.h>

int main() {
    int a = 1234;
    printf("%#o %#X",a,a);
    return 0;
}

发表于 2024-09-18 16:01:35 回复(0)
int main()
{
    int a = 1234;
    printf("%#o %#X", a,a);
   

    return 0;
}

发表于 2024-03-03 17:20:27 回复(0)
#include <stdio.h>

int main()
{
    int num = 1234;

    printf("%#o %#X", num, num);

    return 0;
}
编辑于 2024-02-23 12:02:49 回复(0)
#include <stdio.h>

int main()
{
    int a = 1234;
    printf("%#o %#X",a,a);
    return 0;
}
发表于 2023-10-28 22:55:34 回复(0)
#include <stdio.h>

int main() {
    // o八进制,X十六进制,这里的#为控制显示
    printf("%#o ",1234);
    printf("%#X",1234);
    return 0;
}

发表于 2023-07-22 14:46:16 回复(0)
#include <stdio.h>

int main() {
    int decimal = 1234;
    int octal = 0;
    int hexadecimal = 0;
   
    // 将十进制数转换为八进制
    octal = decimal;
   
    // 将十进制数转换为十六进制
    hexadecimal = decimal;
   
    printf("%#0o %#0X\n", octal,hexadecimal);
   
    return 0;
}
发表于 2023-07-08 18:38:59 回复(0)
#include <stdio.h>
int main(){
    int a = 1234;
    printf("0%o 0X%X", a,a);
    return 0;
}

发表于 2023-06-15 17:46:25 回复(0)
#include <stdio.h>

int main()
{
    int a =1234;
    printf("%#o %#X",a,a);
    return 0;
}  
发表于 2023-04-06 16:33:41 回复(0)
#include <stdio.h>

int main() {

    int i = 1234;
    printf("0%o 0X%X", i, i);
    return 0;
}
发表于 2023-02-18 17:26:05 回复(0)
#include <stdio.h>

int main() {
    printf("%#o %#X",1234,1234);
    return 0;
}
发表于 2023-01-08 22:51:27 回复(0)
#include <stdio.h>
int main()
{
    printf("%#o %#X",1234,1234);
    return 0;
}
#include <stdio.h>
int main()
{
    printf("%#o %#X",1234,1234);
    return 0;
}

发表于 2022-09-09 19:34:55 回复(0)
#include <stdio.h>
int main()
{
    int a=1234;
    printf("%#o %#X",a,a);
    return 0;
}
发表于 2022-09-07 09:28:43 回复(0)
//补充知识点
//%d  十进制
//%o  八进制
//%x  十六进制
//如所需进制需加前导
//则将%变为%o
#include <stdio.h>
int main (void)
{
    int i = 1234;
    printf("%#o %#X",i, i);
    return 0;
}

发表于 2022-07-24 17:05:39 回复(0)
为啥 `%#x` 就不行,非得 `%#X` ?
发表于 2022-07-10 15:55:49 回复(3)
#include<stdio.h>
int main()
{
    int x=1234;
    printf("%#o",x);
    printf(" ");
    printf("%#X",x);
    return 0;
}
发表于 2022-07-09 21:22:42 回复(0)
#include<math.h>
#include<stdio.h>
int i = 0;
void dec(int n, int a[])
 {
	int j = 0;
	if (n > 0)
	{
		dec(n / 2, a);
	}
	a[i] = n % 2;
	i++;
	//printf("%d", n % 2);
}
void eight(int b[][3])
{
	int i = 0;
	int j = 0;
	int sum[4] = { 0 };
	for (i = 0; i < 4; i++)
	{
		for (j = 0; j < 3; j++)
		{
			sum[i] += b[i][j] * pow(2, 2 - j);
		}
	}
	printf("0");
	for (i = 0; i < 4; i++)
	{
		printf("%d", sum[i]);
	}
}
void sixteen(int c[][4])
{
	int i = 0;
	int j = 0;
	int sum[3] = { 0 };
	for (i = 0; i < 3; i++)
	{
		for (j = 0; j < 4; j++)
		{
			sum[i] += c[i][j] * pow(2, 3 - j);
		}
	}
	printf(" 0X");
	for (i = 0; i < 3; i++)
	{
		printf("%X", sum[i]);
	}
}
int main()
{
	int a[100] = { 0 };//a[]数组中存放余数
	int j = 0;
	int n = 0;
	dec(1234, a);
	int b[4][3] = { a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11] };
	int c[3][4] = { a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11] };
	/*for (j = 0; j < i; j++)
	{
		printf("%d", a[j]);
	}*/
	eight(b);
	sixteen(c);
	
	return 0;
}
我可真是个大聪明。。。
发表于 2022-06-25 19:04:17 回复(0)
#include<stdio.h>
int main()
{
    int a=1234;
   printf("%#o %#X",a,a);
    
    return 0;
}

发表于 2022-05-12 11:01:17 回复(0)
#include<stdio.h>
int main()
{
    int a=1234;
    printf("%#o %#X",a,a);
    return 0;
 } 

发表于 2022-03-14 21:34:30 回复(0)