`

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
分享到:
评论

相关推荐

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

    在给定的项目"SystemChange(c语言移位操作实现的10进制到16进制和2进制的转换)"中,开发者可能使用了这样的方法,并在VS2008环境下编写了代码。由于代码描述为"代码比较清秀,看了不后悔",我们可以预期代码的可读性...

    C语言的移位操作

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

    C语言移位实现加减乘除

    ### C语言移位实现加减乘除 #### 概述 在计算机科学中,移位操作是一种高效且基本的操作方式,常被用于替代传统的算术运算。本文将深入探讨如何利用C语言中的移位操作来实现加减乘除四种基本运算,并通过具体的...

    C语言中的移位操作技巧

    ### C语言中的移位操作技巧 #### 一、概述 在C语言中,位操作是一项非常重要的技术,尤其是在处理硬件接口、低级编程以及优化算法性能等方面。位操作包括位的移动(移位)、位的逻辑运算等。本文将重点介绍几种...

    C语言之移位操作

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

    C语言的循环移位操作

    ### C语言中的循环移位操作 在计算机科学与编程领域,循环移位(或称为循环移位、循环移位)是一种常见的数据处理方法,尤其是在低级编程和算法优化中经常用到。本篇文章将深入探讨如何在C语言中实现循环左移和循环...

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

    "Linux平台下C语言中的移位操作" 在 Linux 平台下,C 语言中的移位操作是一个非常重要的概念,它广泛应用于各种编程领域中。移位操作是指对二进制数进行位移的操作,这种操作可以分为左移和右移两种。 首先,让...

    C语言之C语言底层操作

    本文将详细介绍C语言的底层操作,包括移位操作、位段结构、字节对齐等。 一、移位操作 移位操作是C语言中的一种基本操作,它可以将变量中的每一位向右或向左移动。右移操作符是&gt;&gt;,左移操作符是。例如,a &gt;&gt; 2 将...

    VB6运用【系统API调用】实现的移位操作

    VB6“移位操作”函数模块,通过调用系统API实现。 此方法属于本人的“原创”,呵呵…… 运行效率比【内联汇编代码 + CallWindowProc】高几倍。 当然跟用其它语言比如C++写一个专门的“移位操作DLL”给VB6调用相比,...

    c语言左右循环移位c语言左右循环移位.docx

    C语言作为一种底层语言,提供了丰富的位操作功能,其中左右循环移位就是一种非常实用的操作方式。本文将详细介绍如何在C语言中实现左右循环移位,并通过一个具体的示例程序来解释其实现原理。 #### 二、左右循环...

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

    在本压缩包“单片机C语言实例--8-8位LED左移.zip”中,包含的是一份关于使用C语言控制8x8位LED显示进行左移操作的实例。这个实例是针对单片机编程的学习者或者爱好者设计的,通过实际的代码演示如何用C语言来实现LED...

    水滴石穿C语言之C语言的底层操作

    移位操作是C语言中常见的底层操作之一,主要用于处理二进制数据。移位操作涉及到的两个主要问题是: 1. **右移时腾空位的填充规则**:在C语言中,当执行右移操作时,对于无符号数,腾空位总是填充0;而对于有符号数...

    水滴石穿C语言之C语言的底层操作.doc

    总结来说,C语言的底层操作主要包括移位操作、位段结构和字节对齐等。这些特性使得C语言成为编写操作系统、驱动程序和其他高效软件的理想选择,因为它们直接对应于硬件的操作。理解和熟练掌握这些底层操作,对于编写...

    中科大csapp实验一移位操作

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

    基于C语言的移位和代换加解密的程序实现

    `lab1.cpp`可能涉及了基础的位操作和移位变换的实现,如实现简单的左移或右移操作,以及如何在C语言中进行位级别的数据操作。 `Lab4.cpp`可能涉及了更复杂的移位策略,比如循环移位,或者可能引入了密钥与位移量的...

    C语言之C的底层操作

    本文将深入探讨C语言中的底层操作技术,包括移位操作、位段结构以及字节对齐等内容。 #### 移位操作 **定义与应用:** 在C语言中,移位操作符用于对二进制数进行位级别的移动。主要有两种移位操作:左移(`)和...

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

    在提供的项目代码中,`move`函数接收一个`unsigned char`类型的`value`和一个整数`n`作为参数,执行上述的右循环移位操作。主函数`main`中,用户可以通过输入数据和位移数来调用`move`函数,最后打印出移位后的结果...

    C语言的底层操作

    在C语言中,移位操作符`和`&gt;&gt;`提供了一种高效的手段来处理二进制数据,这在底层编程和算法优化中尤为常见。移位操作涉及到数据的位级变换,能够显著提升程序的性能。 1. **右移操作的腾空位填充**:当执行右移操作...

    C语言位操作相关学习记录

    - 嵌入式系统中通常使用无符号数的移位操作。 #### 位操作的应用 ##### 1. 特定位的设置 - **清零**:使用位与操作符`&`可以将特定的几位清零,而其他位保持不变。 - 示例:将32位寄存器中的bit8~bit15清零,`0...

Global site tag (gtag.js) - Google Analytics