`

c语言的移位操作

    博客分类:
  • c
阅读更多

http://tieba.baidu.com/f?kz=321200798    

    左移时总是移位和补零。

    右移时无符号数是移位和补零,此时称为逻辑右移;

    而有符号数大多数情况下是移位和补最左边的位(也就是补最高有效位),移几位就补几位,此时称为算术右移。 

 

       #include<iostream>

using namespace std;

 

void main() {

//unsigned short temp = 0x8151;

short temp = 0x8151;

cout << temp << endl;

printf("%x\n", temp);

 

unsigned char buf[] = {0, 0};

 

buf[1] = temp & 0x00FF;

temp = temp >> 8;

buf[0] = temp & 0x00FF;

 

//cout << buf[0] << " " << buf[1] << endl;

printf("%x\n", buf[0]);

printf("%x\n", buf[1]);

 

printf("%x\n", temp);

 

//unsigned short temp = 0x8151;

short temp1 = 0x7151;

cout << temp1 << endl;

printf("%x\n", temp1);

 

unsigned char buf1[] = {0, 0};

 

buf1[1] = temp1 & 0x00FF;

temp1 = temp1 >> 8;

buf1[0] = temp & 0x00FF;

 

//cout << buf[0] << " " << buf[1] << endl;

printf("%x\n", buf1[0]);

printf("%x\n", buf1[1]);

 

printf("%x\n", temp1);

 

short temp2 = 0x8151;

unsigned char buf2[] = {0, 0};

*((short *)buf2) = temp2;

printf("%x\n", buf2[0]);

printf("%x\n", buf2[1]);

 

getchar();

 

getchar();

}

 

 

  • 大小: 7.8 KB
分享到:
评论

相关推荐

    C语言的移位操作

    关于C语言位操作,左移时总是移位和补零。右移时无符号数是移位和补零,此时称为逻辑右移;而有符号数大多数情况下是移位和补最左边的位(也就是补最高有效位),移几位就补几位,此时称为算术右移。

    SystemChange(c语言移位操作实现的10进制到16进制和2进制的转换)

    vs2008下代码,代码比较清秀,看了不后悔。^^

    C语言中的移位操作技巧

    C语言中的移位操作技巧

    C语言之移位操作

    本次我们进行移位操作的分析,看看在不同情况下移位操作的情形。  (1)变量为正数的情形  当变量为正数的时候,无论左移还是右移,移动溢出的位丢弃,剩下的位补的都是0。  1.当移位的位数大于,0,并且小于...

    C语言的循环移位操作

    移位操作移位操作移位操作移位操作移位操作移位操作移位操作移位操作移位操作移位操作移位操作移位操作移位操作移位操作移位操作移位操作

    Linux平台下C语言中的移位操作

    C语言中的移位操作,内容不多。不过有些地方你不注意,就疏忽了。本文简单介绍了一下Linux平台下C语言中的移位操作。

    C语言_位操作,如何判断某一位是1还是0

    C语言_位操作,如何判断某一位是1还是0

    中科大csapp实验一移位操作

    c语言实现的移位操作实验,中科大程序设计与计算机系统实验一

    单片机C语言实例--8-8位LED左移.zip

    单片机C语言实例--8-8位LED左移.zip

    C语言编程技术实践2020版 数据右循环移位操作.docx

    C语言编程技术实践2020版 数据右循环移位操作.docx 学习资料 复习资料 教学资源

    C语言解析教程(原书第4版)(美) 凯利.pdf

    7.1.4 左移位和右移位操作符 7.2 掩码 7.3 软件工具:打印int值的二进制形式 7.4 包装和解包 7.5 枚举类型 7.6 例子:“石头、剪刀、布”游戏 7.7 总结 7.8 练习 第8章 预处理器 8.1 #include的使用 8.2 使用#define...

    关于C编程的移位操作

    关于C编程的移位操作,帮助掌握基本的移位。

    DES加密算法的C语言实现

    DES加密算法的C语言实现,运行环境VC++6.0,使用一个 56 位的密钥以及附加的 8 位奇偶校验位,产生最大 64 位的分组大小。...使用子密钥对其中一半...DES 使用 16 个循环,使用异或,置换,代换,移位操作四种基本运算。

    C语言经典源代码实例 数据结构 操作系统 图形等

    050 二叉搜索树操作 051 二项式系数递归 052 背包问题 053 顺序表插入和删除 054 链表操作(1) 055 链表操作(2) 056 单链表就地逆置 057 运动会分数统计 058 双链表 059 约瑟夫环 060 记录个人资料 ...

    单片机为什么还在用C语言编程?

    第三、单片机算法运算中,尽量使用加法、减法、移位运算,因为乘法和除法运算会非常费时间,尤其是除法,会耗费很多时间,这对于速度本身就有限制的单片机来说,是一个很大的负担。二、高级语言编写单片机程序的缺陷...

    C语言位运算

    C语言的位运算用法, 介绍移位操作等位运算操作

    C语言实例解析精粹(第二版) 光盘代码

    C语言实例解析精粹(第二版) 光盘代码 本文件包括以下内容: ※ 1、文件说明 ※ 2、源码操作说明 ※ 3、光盘目录清单 ◎ 源码操作说明 源代码使用方法是(以实例1为例): 将该实例的源码,比如实例1的1.c文件(可以...

    你必须知道的495个C语言问题

    1.3 因为C语言没有精确定义类型的大小,所以我一般都用typedef定义int16和int32。然后根据实际的机器环境把它们定义为int、short、long等类型。这样看来,所有的问题都解决了,是吗? 1.4 新的64位机上的64位类型...

    《你必须知道的495个C语言问题》

    《你必须知道的495个C语言问题》以问答的形式组织内容,讨论了学习或使用C语言的过程中经常遇到的一些问题。书中列出了C用户经常问的400多个经典问题,涵盖了初始化、数组、指针、字符串、内存分配、库函数、C预...

Global site tag (gtag.js) - Google Analytics