http://tieba.baidu.com/f?kz=321200798 ?? ?
?? ?左移時總是移位和補零。
?? ?右移時無符號數是移位和補零,此時稱為邏輯右移;
?? ?而有符號數大多數情況下是移位和補最左邊的位(也就是補最高有效位),移幾位就補幾位,此時稱為算術右移。?
?
?? ? ??#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();
}
?
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
