c语言---移位问题
来源:互联网 发布:php集成包 编辑:程序博客网 时间:2024/05/21 14:03
在c 中左移也就是所说的逻辑移位,右端补0,
而右移是算数移位,左端补齐的是最高位的符号位。
故负数左移,有可能变成正数,
但负数右移,肯定还是负数。void test()
{
int a = 10;
printf("10 a>>3 %d\n",a>>3);
printf("10 a<<3 %d\n",a<<3);
a = -10;
printf(" -10 a>>3 %d\n",a>>3);
printf(" -10 a>>4 %d\n",a>>4);
printf("-10 a<<3 %d\n",a<<3);
}
void test1()
{
int i = 0x8000000f;
int j = i >> 3;
int k = i << 1;
printf("%d %x\n",i,i);
printf("%d %x\n",j,j);
printf("%d %x\n",k,k);
i = -9;
printf("%d %x\n",i,i);
i = 0xfffffff7;
j = i >> 3;
k = i << 1;
printf("%d %x\n",i,i);
printf("%d %x\n",j,j);
printf("%d %x\n",k,k);
}
void test2()
{
char i = 0x0f;
char j = i >> 3;
char k = i << 1;
printf("%d %x\n",i,i);
printf("%d %x\n",j,j);
printf("%d %x\n",k,k);
i = -9;
printf("%d %x\n",i,i);
i = 0x17;
j = i >> 3;
k = i << 1;
printf("%d %x\n",i,i);
printf("%d %x\n",j,j);
printf("%d %x\n",k,k);
i = 5;
j = i >> 3;
k = i << 1;
printf("%d %x\n",i,i);
printf("%d %x\n",j,j);
printf("%d %x\n",k,k);
}
阅读全文
0 0
- c语言---移位问题
- c语言的移位问题
- C语言中移位问题
- C语言移位运算符精度问题
- 关于C语言中十六进制移位问题
- C语言中的移位
- c语言移位除法
- c 语言循环移位
- 循环移位(c语言)
- c语言循环移位
- c语言中的移位
- C语言移位操作
- C语言移位
- C语言中关于字符串左右循环移位的问题
- C语言移位操作遇到的问题和解决办法
- C语言中的移位操作
- C语言中的数据移位
- C语言中的移位操作
- eclipse maven引入第三方jar包后如何下载源代码(sources)
- iOS编程学习二
- C++学习笔记,字符串输入
- Linux C Socket编程原理及简单实例
- 九度oj-1075-斐波那契数列
- c语言---移位问题
- 如何生成微信二维码并将自己的信息存放到二维码中
- (OK) MPTCP-0.92 setup
- 反向(或者后向)插件系统设计
- Android studio初始配置
- hdu 6026 最短路变形+删边构造树的方案数
- Collections.unmodifiableMap
- spring boot spring cloud 打成jar包在Windows或者Linux上运行的几种方式
- 防止js全局变量污染方法总结