题目名称 2132. 高低位交换
输入输出 highlow.in/out
难度等级
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 10
题目来源 GravatarHzoi_ 于2016-01-11加入
开放分组 全部用户
提交状态
分类标签
HZOI 位运算 基本
分享题解
通过:81, 提交:147, 通过率:55.1%
GravatarHzoi_ 100 0.000 s 0.00 MiB C++
GravatarHzoi_ 100 0.000 s 0.00 MiB C++
GravatarLOSER 100 0.000 s 0.00 MiB C++
Gravatar【离开·再见】星裔·自由蒂兰 100 0.000 s 0.00 MiB C++
GravatarHzoi_ 100 0.000 s 0.00 MiB C++
Gravatar安呐一条小咸鱼。 100 0.000 s 0.00 MiB C++
Gravatar521 100 0.000 s 0.00 MiB C++
Gravatardateri 100 0.000 s 0.00 MiB C++
Gravatar锝镆氪锂铽 100 0.000 s 0.00 MiB C++
Gravatar1020 100 0.000 s 0.00 MiB C++
关于 高低位交换 的近10条评论(全部评论)
GravatarGo灬Fire
2016-03-30 17:56 6楼
回复 @Cydia :
红红火火恍恍惚惚
GravatarHzoi_
2016-02-19 15:45 5楼
被unsigned坑了3个数据
Gravatar安呐一条小咸鱼。
2016-01-14 09:30 4楼
兹磁哦
Gravatar一個人的雨
2016-01-11 20:07 3楼
回复 @hzoier :
doubi
GravatarSOBER GOOD BOY
2016-01-11 15:32 2楼
注意数据类型
GravatarHzoi_
2016-01-11 15:25 1楼

2132. 高低位交换

☆   输入文件:highlow.in   输出文件:highlow.out   简单对比
时间限制:1 s   内存限制:128 MiB

【题目描述】


给出一个小于2^32的正整数。这个数可以用一个32位的二进制数表示(不足32位用0补足)。我们称这个二进制数的前16位为“高位”,后16位为“低位”。将它的高低位交换,我们可以得到一个新的数。试问这个新的数是多少(用十进制表示)。

例如,数1314520用二进制表示为0000 0000 0001 0100 0000 1110 1101 1000(添加了11个前导0补足为32位),其中前16位为高位,即0000 0000 0001 0100;后16位为低位,即0000 1110 1101 1000。将它的高低位进行交换,我们得到了一个新的二进制数0000 1110 1101 1000 0000 0000 0001 0100。它即是十进制的249036820。


【输入格式】

一个小于2^32的正整数。

【输出格式】

新的数。

【样例输入】

1314520

【样例输出】

249036820

【提示】

注意位运算相关知识

【来源】

衡水中学16.1.10小测验

原题地址:http://hzoi.openjudge.cn/ceyan/T002/