首页 > 试题广场 >

缩短二进制

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

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


输入描述:


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

备注:
printf可以使用使用格式控制串“%o”、“%X”分别输出八进制整数和十六进制整数,并使用修饰符“#”控制前导显示
头像 牛客HiJackLee
发表于 2022-03-26 17:35:26
//补充知识: // d 以十进制形式输出带符号整数(正数不输出符号) // o 以八进制形式输出无符号整数(不输出前缀O) // x 以十六进制形式输出无符号整数(不输出前缀Ox) // X 以十六进制形式输出无符号整数(不输出前缀OX) //使用修饰符“#”控制前导显示: // 展开全文
头像 风华同学
发表于 2020-05-29 16:28:22
public class Main{ public static void main(String[] args){ int i=1234; System.out.println("0"+Integer.toOctalString(i)+" 0X"+Integ 展开全文
头像 明月安
发表于 2020-08-08 23:25:49
答案一:利用 printf 实现进制转换 public class Main { public static void main(String[] args) { System.out.printf("0"+"%o",1234); System.out 展开全文
头像 我爬起来还能敲
发表于 2021-09-17 12:35:23
#include<stdio.h> int main() { printf("%#o %#X", 1234, 1234);//使用修饰符“#”控制前导显示,是控制显示,不是#0或者#0X return 0; }
头像 崇志广勤
发表于 2020-04-18 20:52:56
include <stdio.h> int main(){ int a; scanf("%d",&a); a = 1234; printf("0%o 0X%X",a,a);//使用格式控制符输出八进制和十六进制 return 0;}
头像 牛客题解官
发表于 2020-06-04 16:30:35
分析: 题中已经给出printf函数的具体使用方法和注意事项,这里加入了C++中cout的实现方法。 题解: #include <bits/stdc++.h> using namespace std; int main() { int val = 1234; /* 展开全文
头像 牛客266442785号
发表于 2021-12-20 13:03:57
关于前导符的#控制,实际上就是在百分号后面加一个#,加上#即显示前导,另外的十六进制的大写显示,实际上就是一个%后的x的大小写问题,大写x,则十六进制中的字母大写,否则则小写 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int m 展开全文
头像 祝我好运来
发表于 2020-12-04 23:03:43
//#要放在%后,o或X前 public class Main{ public static void main(String[] args){ int a = 1234; System.out.printf("%#o",a); System. 展开全文
头像 七七铺子
发表于 2021-10-24 13:34:43
#include<stdio.h> int main() { int a = 1234;//存入1234 printf("%#o %#X",a,a);//在八进制前显示0 - %#o 十六进制 0X - %#X return 0; } //这是我的解题思路,特别 展开全文
头像 牛客171676524号
发表于 2021-09-18 10:46:24
python3实现 oct(数字)将十进制的数转换为八进制后,是以0o开头的,本题目要求是0开头,需要将0o替换成0。。。。 print(oct(1234).replace('0o','0' )+" "+hex(1234).upper())