例:
int main(){
int a
scanf("%p",&a)//16进制数输入%p是输入一个十六进制的数scanf("%llx",&a)也可以输入十六进制并且比较正规
printf("%d",a)//十进制输出%d是输出一个十进制的数
printf("0x%x",a)//16进制输出printf("%llX\n",a)也可输出一个十六进制数如果红色部分大写X则输出十六进制为大写字母否则小写x输出为小写字母
}
参考:
最大数字是15位,没有超过__int64能表达的最大数。__int64最大能表示16位十六进制数。所以直接进行加减就行了,需要注意的是输入输出的格式以及十六进制表达负数的时候显示的是补码。
#include&ltstdio.h&gt
int main(void)
{
long long a,b,result
while(scanf("%llx%llx",&a,&b)!=EOF){
result=a+b
if(result&gt=0)
printf("%llX\n",result)
else
printf("-%llX\n",-result)
}
return 0
}
long long 类型格式字符:
扩展资料:return用法:
作用是结束正在运行的函数,并返回函数值。return后面可以跟一个常量,变量,或是表达式。
函数的定义一般是这样的,例如:
int a(int i)//第一个int是函数的返回值的类型,也就是return后面跟的值的类型,a是函数的名称,括号里的是传递给函数的参数,int是参数的类型,i是参数的名字
{
...//省略函数体内容
return b//b必须与函数头的返回值一致(此处为int型)
}
简单函数举例:
int addOne(int b)
{
return b+1
}
该函数的作用是取得一个数,将这个数加上1,再将结果返回
调用时这样:
int result=addOne(2);//此时result的值为3
函数括号里的参数也可以为变量或能算出值的表达式
以上就是一个基本的函数,一般的函数都有返回值,也就是return后面跟的值,返回值可以为各种数据类型,如:int,float,double,char,a[](数组),*a(指针),结构或类(c++)
但不是所有函数都有返回值,如果某个函数无返回值,那么返回值的位置则为“void”关键字,此时函数体中无返回值,即无return的值。但是函数中也可出现return,即一个空的return句子,其作用是使函数立即结束,如
void print()//括号中为空表示无传递参数
{
printf("a")
printf("b")
return//函数执行到此处结束
printf("c")
}//该函数只执行到return语句处,即屏幕上输出的为"ab"
1、C/C++规定,16进制数必须以 0x开头。比如 0x1表示一个16进制数,而1则表示一个十进制,0xff,0xFF,0X102A,等等.其中的x不用区分大小写。
C/C++中,10进制数有正负之分。比如12表示正12,而-12表示负12。但8进制和16进制只能表达无符号的正整数,如果在代码中写-0xF2,C/C++并不把它当成一个负数。
2、以下是一些用法示例:
int a = 0x100F //用一个十六进制数给变量a赋值
int b = 0x70 + a //用一个十六进制数+变量a的值给变量b赋值
数据在计算机中都是以二进制形式保存的;定义一个什么类型的数组,在计算机内部都是以二进制保存的。
10进制,16进制,那只是认看到的表示法,计算机内部只有二进制表示;
所以,定义一个16进制数组参考方法如下:
string str = "2FF"
int i = Convert.ToInt32(str, 16)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)