我试图实现简单的C语言代码,因为我是初学者
我是第一次使用OR
操作在缓冲区8位大小上然后应用右移操作。
我发现了一些奇怪的事情,有时候我会加1而不是0&有些情况正确加0。
我的代码:
char buffer[0]={0x7e};
int bitsetcounter;
int bitCounter;
int s=1;
int main () {
if (s=1) {
buffer[0]=buffer[0]|0x80;
bitsetcounter++;
bitCounter++;
}
buffer[0] >>=1;
printf("the buffer is %x",buffer[0]& 0xff);
}
输出>>缓冲区是ff。 这就是为什么输出那样的?如果我通过添加0值,我应该有7F而不是ff?
答案 0 :(得分:1)
替换
@Endpoint
public class MailEndpoint {
private static final String NAMESPACE_URI = "I tried myhost (address location in wsdl) and other-company"
@PayloadRoot(namespace = NAMESPACE_URI, localPart = "sendMessage")
@ResponsePayload
public SyncSendMessageResponse sendMessage(@RequestPayload SyncSendMessageRequest request) {
SyncSendMessageResponse response = new SyncSendMessageResponse();
ResponseData responseData = new ResponseData();
responseData.setResult("sync");
response.setResponseData(responseData);
return response;
}
使用
char buffer[0]={0x7e};
但仍然>>运营商是平台相关的