一道C语言面试题:写一个宏,将16位的整数转为Big Endian
题目:输入16位整数x,如0x1234,将其转为Big Endian格式再输出,此例为输出 0x3412
来源:某500强企业面试题目
思路:将x左移8位得到a,将x右移8位得到b,a+b即为所得
- //----------------------------------------
- // 写一个宏,将16位的整数转为Big Endian
- //----------------------------------------
- #define ConvertToBigEndian(x) (((x)<<8) & 0xFF00) +(((x)>>8) & 0x00FF)
- void TestConvertToBigEndian(void) {
- ;
- ;
- // 下面输出为:ConvertToBigEndian(0x1234) = 0x3412
- a = 0x1234;
- b = ConvertToBigEndian(a);
- printf("ConvertToBigEndian(0x%04X) = 0x%04X\n", a, b);
- // 下面输出为:ConvertToBigEndian(0x12) = 0x1200
- a = 0x12;
- b = ConvertToBigEndian(a);
- printf("ConvertToBigEndian(0x%04X) = 0x%04X\n", a, b);
- }
一道C语言面试题:写一个宏,将16位的整数转为Big Endian的更多相关文章
- 面试题-->写一个函数,返回一个数组中所有元素被第一个元素除的结果
package com.rui.test; import java.util.Random; /** * @author poseidon * @version 1.0 * @date:2015年10 ...
- 《剑指offer》写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
弱菜刷题还是刷中文题好了,没必要和英文过不去,现在的重点是基本代码能力的恢复. [题目] 剑指offer 写一个函数,求两个整数之和,要求在函数体内不得使用+.-.*./四则运算符号. [思路] 直觉 ...
- C语言中如何写一个简单可移植而又足够随机的随机数生成器
在C语言中标准库中的随机数产生函数的返回可能不是最优的,因为有些随机数生成器的低位并不随机,而另一些返回随机数的函数实现上又太复杂鸟.所以rand()%N并不是一个好方法,牛人给出的建议是使用: ra ...
- [笔记]一道C语言面试题:IPv4字符串转为UInt整数
题目:输入一个IPv4字符串,如“1.2.3.4”,输出对应的无符号整数,如本例输出为 0x01020304. 来源:某500强企业面试题目 思路:从尾部扫描到头部,一旦发现无法转换,立即返回,减少无 ...
- 一道C语言面试题:判断字串是否可以通过重新排列字母使之对称
题目:输入一个字符串,如“adcaeceeed”,判断是否可以通过重新排列使之可以输出对称字符串,如本例可以输出“adceeeecda”,返回True. 来源:某500强企业面试题目 思路:扫描字串, ...
- [笔记]一道C语言面试题:大整数乘法
题目:输入两个数字字符串,如“1234567890”和“987654321”,返回二者相乘的结果字符串,如本例返回为“1219326311126352690”. 来源:某500强企业面试题目 思路:从 ...
- 一道C语言面试题:得到整数的M进制表示字符串
题目:输入整数n和M,输出n在M进制下的表示字符串.如n=3000,M=16,输出16进制下3000的表示字符串,为“BB8” 来源:某500强企业面试题目 思路:对n取模M,将得到的数字压入栈中,再 ...
- 写一个表达式检查所给的整数是否它第三个数字(从右向左)是7。示例:1732 -> true。
在学习C#基础部分(课件来源:http://www.xuepub.com/52.html),遇到这么一个题目,前段时间面试遇到一个"车牌限行的问题",我就在想如何取末尾数值的问题. ...
- c++实现写一个函数,求2个整数的和,要求在函数体内不得使用+,-* /
#include <iostream> using namespace std; int add(int x, int y) { return x+y; } int addmove(int ...
随机推荐
- iOS开发之网络篇-各种网络状态码
1xx消息 这一类型的状态码,代表请求已被接受,需要继续处理.这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束.由于HTTP/1.0协议中没有定义任何1xx状态码,所以除非在某些试 ...
- 手把手教你学习FPGA系列视频教程_救护车鸣笛声
本套教程主要面对FPGA初学者,本次DIY活动不仅让初学者掌握FPGA硬件电路设计以及焊接方面的知识,更重要的是让初学者学习硬件描述语言 (VerilogHDL)描述数字电路,以及Quartus II ...
- CSS发光边框文本框效果
7,166 次阅读 ‹ NSH Blog 网页设计 CSS发光边框文本框效果 或许你看过Safari浏览器下,任何输入框都会有一个发光的蓝色边框,这不单纯只是蓝色边框而已,其实包含了许多CSS3技巧知 ...
- Rock the Tech Interview
Today, Infusion held a talk in Columbia University about tech interview. Talker: Nishit Shah @ Infus ...
- MySQL搜索: WHERE 多条件
WHERE能够按多条件进行搜索. products表例如以下: a WHERE后以and 接两个条件以及三个条件进行搜索: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkb ...
- 谋哥:研究App排行榜浮出的神器
昨天发的<App排行榜的秘密>到头条网,阅读量到2万,踩的比顶的多几倍.原因是由于我使用360市场的数据来分析,而且这帮喷子根本不看你分析数据背后的意义,反正看到自己不喜欢的比方" ...
- linux查看用户登录信息-w命令
NAME w - Show who is logged on and what they are doing. SYNOPSIS w - [husfV] [user] DESCRIPTION w di ...
- 【树形贪心】【UVA1267】Network
重要意义:复习好久没写的邻接表了. Network, Seoul 2007, LA3902 Consider a tree network with n nodes where the interna ...
- 新生赛(2) problem 2 丁磊养猪
Problem B Time Limit : 2000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Sub ...
- Oozie — What Why and How
Oozie是什么? Oozie最初是Yahoo!为Hadoop开发的一个工作流调度器,一个工作流有多个Job组成.它允许用户提交由多个Job组成的工作流配置文件,这些Job既可以顺序执行,也可以并行执 ...