C语言中负整数的逻辑右移? [英] Logical Right Shift on negative integers in C?
本文介绍了C语言中负整数的逻辑右移?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何在C中对负数进行逻辑右移?基本上,我正在寻找Java中>>>
的C等效项
How does one go about doing a logical right shift of negative numbers in C? Basically I am looking for the C equivalent of >>>
in java
即
int one = -16711936 ;
//int two = -16711936 ;
//int three = -1;
int r, g, b;
System.out.println(Integer.toBinaryString(one));
r = one << 8;
r >>>= 24;
g = one << 16;
g >>>= 24; //this always ends up being -1 in C, instead of 255
b = one << 24;
b >>>= 24;
推荐答案
在转换前将值转换为(无符号整数)
.
这篇关于C语言中负整数的逻辑右移?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文