[计算机程序设计C++] 输入整数显示十六进制和八进制

版权声明:转载请注明出处 https://blog.csdn.net/Rosemary_tu/article/details/83583860

12 输入整数显示十六进制和八进制(10分)
题目内容:

编写程序,输入整数,显示其十进制、十六进制和八进制形式。如输入31,输出:

-31 -1f -37

输入:一个整数,注意,可能是负数。

输出:三个数,十进制、十六进制和八进制,用空格隔开。

提示:设输入的整数为n。(1)使用?:条件运算符求绝对值赋给另一变量。(2)十进制、十六进制和八进制形式,在输出前分别输出dec,hex,oct,如cout<<oct<<m;(3)如果n小于0,先输出一个负号,不换行,再输出整数。

注意,即使你知道了if语句,在这儿也不应该使用。

样例1输入:

-31

样例1输出:

-31 -1f -37

代码参考博客:https://blog.csdn.net/Aaron_wuz/article/details/82353196

#include <iostream>
using namespace std;

int main()
{
	int n, l;
	cin >>n;
	(n>=0) ? l = n : l = -n;
	(n>=0) ? cout <<l<<" "<<hex<<l<<" "<<oct<<l:cout<<'-'<<l<<" "<<'-'<<hex<<l<<" "<<'-'<<oct<<l;
	return 0;
}

有关ASCII码的一些误区:(以下内容参考百度百科)

在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示1和0)。例如,像a、b、c、d这样的52个字母(包括大写)以及0、1等数字还有一些常用的符号(例如*、#、@等)在计算机中存储时也要使用二进制数来表示,而具体用哪些二进制数字表示哪个符号,每个人都可以约定自己的一套(这就叫编码),而大家如果要想互相通信而不造成混乱,那么大家就必须使用相同的编码规则,于是美国有关的标准化组织就出台了ASCII编码,统一规定了上述常用符号用哪些二进制数来表示

ASCII码是基于字符的,即使输入数字也是作为字符管理,比如字符0和数字0是不一样的,字符是没有负数的. ASCII码没有负数.

猜你喜欢

转载自blog.csdn.net/Rosemary_tu/article/details/83583860
今日推荐