十六进制转换为十进制

十六进制转换为十进制_第1张图片
示例题目:
变量a是一个64位有符号的整数,初始值用16进制表示为:0Xf000000000000000; 变量b是一个64位有符号的整数,初始值用16进制表示为:0x7FFFFFFFFFFFFFFF。 则a-b的结果用10进制表示为多少?()

解:
0x7FFFFFFFFFFFFFFF+1=0X8000000000000000,那么
a-b=0Xf000000000000000-0X8000000000000000+1
=0X7000000000000001
=(16^15)* 7+(16^0)* 1
=(2^60)* 7+1
=(2^60)* (2^2+ 2^1+ 2^0)+1
=(2^62) + (2^61)+ (2^60)+1

你可能感兴趣的:(牛客错题)