位操作:

左移(<<)和右移(>>)
计算规则:
1、整数是以补码形式存储。
2、数据类型转换
小数据赋给大数据,系统为保证数据完整性,采用符号扩充行为,
大数据赋给小数据,会发生截断行为,有可能造成数据丢失。
下面显示的二进制数据也是补码。
3、整数运算时低于4字节的整数类型,是以四个字节运算的。

eg:

void Demo() {char i;char j;j = 93 << 1;printf("左移:%x\n", j);j = j >> 1;printf("右移:%x\n", j);i = 93 << 1 >> 1;printf("先左移后右移%x", i);
}


原因:

对于有符号数:左移的时候右侧补0;右移的时候左侧补符号位(正数符号位为0,则补0;负数符号位为1,则补1).
对于无符号数:左移的时候右侧补0;右移的时候左侧也是补0.
93:01011101
左移:10111010
右移:11011101
先左移后右移:01011101

注意:通过前面说的三条规则,就可以看出在内存中是如何计算的。

C语言之位操作和整形的补位相关推荐

  1. C语言大数相乘(整形)

    C语言大数相乘(整形) 我们在用C语言运算时int存不下很大的数字无法直接计算大数相乘,那么这时候就需要把数字当作字符先存下来,然后存入数组中一部分一部分的进行运算.我通过-纸短情长大佬的这篇博客理解 ...

  2. 单片机c语言定义位,单片机C语言中位操作用法.pdf

    风行下载2012 正式版官方下载:/ C C 单片机的CC语言中位操作用法 作者:郭天祥 来源:转自 更新时间:2008-12-421:50:22 在对单处机进行编程的过程中,对位的操作是经常遇到的. ...

  3. 单片机中用c语言编写 逻辑按位,.单片机的C语言中位操作用法.pdf

    .单片机的C语言中位操作用法 风行下载2012 正式版官方下载:/ C C 单片机的CC语言中位操作用法 作者:郭天祥 来源:转自 更新时间:2008-12-421:50:22 在对单处机进行编程的过 ...

  4. c语言二进制加法_“整形数”还真没那么简单(C语言版)

    来自公众号:最后一个bug 1.整形的存储 1)说说数据的存储 数据对于存储器而言都是二进制的0101...,也就是我们所说的机器码.而我们所定义的类型就相当于确定了这块内存占据多大的位置和以怎么这样 ...

  5. 【c语言】位操作实现无符号整数的乘法运算

    输入两个无符号整数x, y, 用位操作实现无符号整数的乘法运算.不用考虑整数的溢出. 输入: 235 657 输出: 154395 #include <stdio.h> #include ...

  6. C语言除法浮点型和整形,浅谈C语言整型与浮点型转换

    本篇博客将阐述.讨论的内容: ●int int的范围根据计算机的不同存在16位或32位的差异,以16位举例,最大值为1111 1111 1111 1111,也就是65535,如果出现65536,就会溢 ...

  7. c语言8个字节整形数,C语言整型数据分析

    C语言整型数据分析 不同类型的量可以参与运算并相互赋值.其中的类型转换是由编译系统自动完成的.以下是小编为大家搜索整理的C语言整型数据分析,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考 ...

  8. c语言整形数组相加,[c语言]将两个整形升序数组合并为一个升序数组

    可能大多数人首先想到的是将两个数组合并,然后将合并后的数组排序输出.但是题目要求合并完即为一个升序数组,这样做不合题意.可以利用已知条件(两数组A.B均为升序),循环在每个数组中均选取一个元素来对比, ...

  9. c语言结构体中整形数组初始化,c – 将{0,0}在结构体中初始化数组?

    线 A C = {0,0}; 8.5.1聚合[dcl.init.aggr] / 12 Braces can be elided in an initializer-list as follows. I ...

  10. c语言存储大范围整形,C语言整形数值范围问题

    有符号二进制数的表示是这样的:如果计算机的字长为n位,n位二进制数的最高位为符号位.其余n-1位为数值位,采用补码表示法时,可表示的数X的范围是 -2的(n-1)次幂 <= X <= 2的 ...

最新文章

  1. 二十二、新人成才之路《做人七项原则 做一个节俭惜福的人》
  2. Python 简介day01
  3. 结构型模式——桥接模式
  4. shell脚本eval
  5. CRC全套~~~ 转载
  6. Sql server 2000导入 Sql server 2005的数据
  7. refprop物性库_REFPROP下载-REFPROP官方版下载[制冷剂物性查询]-天极下载
  8. 分布式系统架构 - 学习/实践
  9. java在线查看PDF
  10. Springboot毕设项目列车调度信息系统的设计与实现4guf9(java+VUE+Mybatis+Maven+Mysql)
  11. 第七章文件与数格式化
  12. 如何用微信自动添加wifi连接服务器地址,微信WiFi一键连小程序怎么用 微信怎么连接WiFi热点...
  13. 什么是php微信开发,php微信公众号开发模式详解
  14. 汕头好的计算机学校有哪些,2021年汕头所有小学名单及排名,汕头最好的小学有哪些...
  15. 反外挂之手写汇编锁血功能
  16. 速速收藏——程序员接私活的七大平台
  17. html5内嵌式格式,如何使用内嵌式引入css样式表
  18. 如何将数据从旧PC传输到新Mac
  19. 纯C语言日志类库 Zlog
  20. MUI框架获取下拉框SELECT选中值

热门文章

  1. sqlite数据库的版本更替
  2. Linux服务器管理记录
  3. sprintf函数的详解及sprint与printf结合使用 —————— 开开开山怪
  4. 罗马数字相加java_LeetCode题库 13罗马数字转整数(java)
  5. 3A之自动白平衡(AWB)篇
  6. 服务器管理系统推荐,十大Windows服务器工具 系统管理员必备
  7. 仓库摆放示意图_仓库布局,搞懂这两张图就够了!
  8. 集群搭建——SGE与PBS
  9. C语言 输入一个不大于五位的数字,先判断是几位数字,然后将其数字顺序输出和逆序输出
  10. 导入tkinter出错