#P1100. 高低位交换

高低位交换

P1100 高低位交换

题目背景

本题围绕“高低位交换”所描述的场景展开。给定一个小于 2322^{32} 的非负整数 nn

下面的题面采用非逐字重述方式整理,但保留原题中的全部判定条件、边界含义、输入输出要求与特殊约定。

题目描述

给定一个小于 2322^{32} 的非负整数 nn。把它表示为一个恰好 3232 位的二进制数,不足的高位用 0 补齐。

将这 3232 位分为两段:

  • 1616 位称为高 1616 位;
  • 1616 位称为低 1616 位。

交换高、低两段的位置,得到一个新的 3232 位二进制数。请输出新数对应的十进制值。

例如,131452013145203232 位二进制表示为:

0000000000010100 0000111011011000

交换两段后得到:

0000111011011000 0000000000010100

其十进制值为 249036820249036820

完整规则与任务要求

处理本题时,必须同时满足下列全部要求,不能只实现其中一部分:

  • 给定一个小于 2322^{32} 的非负整数 nn
  • 把它表示为一个恰好 3232 位的二进制数,不足的高位用 0 补齐。
  • 将这 3232 位分为两段:。
  • 1616 位称为高 1616 位;。
  • 1616 位称为低 1616 位。
  • 交换高、低两段的位置,得到一个新的 3232 位二进制数。
  • 请输出新数对应的十进制值。
  • 例如,131452013145203232 位二进制表示为:。
  • 必须把输入看成无符号 3232 位整数。
  • 交换的是完整的高 1616 位和低 1616 位,高位不足时按二进制前导零补齐。

程序应完整读取“输入格式”中规定的所有数据,并严格按照“输出格式”给出结果。题目中的区间端点、编号起点、排序优先级、同分处理、空结构处理、取模方式和特殊字符串,均以本题面明确写出的规则为准。

输入格式

输入一行一个非负整数 nn,满足 0n<2320\le n<2^{32}

输出格式

输出交换高低 1616 位后的十进制整数。

样例

1314520
249036820

题目信息来源:洛谷 P1100。

样例说明

样例输入按照上述规则处理。给定一个小于 2322^{32} 的非负整数 nn。最终得到题面所列的样例输出。样例只用于说明规则与格式,程序仍需覆盖全部数据范围。

本题面依据洛谷 P1100 的公开题目信息重新整理,为内容完整的非逐字重述版。