问题1420--ARM立即数寻址

1420: ARM立即数寻址

时间限制: 1Sec 内存限制:128 MB
提交:139 解决:18
[ 状态] [ 讨论版] [ 提交] [命题人: ]
题目描述

ARM处理器立即数寻址方式中,立即数是由一个8bit的常数(大于等于0,小于等于0xff)循环右移(需先扩展为32位)偶数bit(0,2,4,...,30)得到的,所以类似0x101,0x102,0xFF1,0xFF04,0x8000007F等都是无效的立即数,而像0xFF,0x3FC,0xC0000003F,0x104,0xFF0,0xFF00,0xf000000f等都是有效的立即数。
现在给你一个32bit的正整数,请你判断这个数是否是有效的立即数。

0x12345678循环右移4位变为0x81234567。)

输入

一个正整数TT<= 1000000),表示有T组测试数据
每一组测试数据包含一个32位的十六进制数n0<= n <= 0xffffffff)

输出

T行。对于每个n,输出占一行,如果n是有效的立即数输出"YES",否则输出"NO"

样例输入 Copy
3 0xff 0xFF 0xF0F
样例输出 Copy
YES YES NO
来源/分类