http://tieba.baidu.com/f?kz=321200798 ?? ?
?? ?左移時(shí)總是移位和補(bǔ)零。
?? ?右移時(shí)無符號(hào)數(shù)是移位和補(bǔ)零,此時(shí)稱為邏輯右移;
?? ?而有符號(hào)數(shù)大多數(shù)情況下是移位和補(bǔ)最左邊的位(也就是補(bǔ)最高有效位),移幾位就補(bǔ)幾位,此時(shí)稱為算術(shù)右移。?
?
?? ? ??#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();
}
?
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元

