久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3599|回復: 4
收起左側

C語言語句YPR[0]=(BUF[1]<<8|BUF[2]);如何理解?

[復制鏈接]
ID:374198 發表于 2019-8-5 17:39 | 顯示全部樓層 |閱讀模式
請教一下,YPR[0]=(BUF[1]<<8|BUF[2]); 這句話在c語言里怎樣理解》???
回復

使用道具 舉報

ID:377268 發表于 2019-8-5 22:23 | 顯示全部樓層
數據拆包發送后又合成嗎/, 串口通信一般就是8位, 想發送個16位的數據就需要拆包,高八位 第八位裝在兩個8位的變量里。接收到之后再進行合成。 你的代碼就是將BUF[1]中的數作為高位,BUF[2]中的數作為低位 ,合成的位數放進YRR[0]
回復

使用道具 舉報

ID:529540 發表于 2019-8-6 15:38 | 顯示全部樓層
額,就這樣理解,按語句一步步運算啊,可以直接定義幾個值然后按這樣運算然后看看結果是怎么樣的,加深印象啊,可以幫助你更深入的了解這語句的意思,會有什么樣的結果,你就知道為什么怎么寫了。
回復

使用道具 舉報

ID:362259 發表于 2019-8-6 18:09 | 顯示全部樓層
這是算術優先級的問題吧。這兩個都是雙目運算符,而移位運算符的優先級是大于位運算符的,所以你只要先將BUF[1]<<8,然后結果或上BUF[2]
回復

使用道具 舉報

ID:596346 發表于 2019-8-6 20:55 | 顯示全部樓層
這是一個賦值語句,把等式右邊的值賦給左邊;先來看左邊是怎么運算的,由于移位運算符<<的優先級大于位運算符|,所以先計算BUF[1]左移八位,然后再或上BUF[2],或的操作可以理解為兩個數相加;通俗理解的話可以舉個列子,假設BUF[1]的值為0000 0001b(為方便描述,故用二進制表示) ,左移八位后變成10000 0000b   ,BUF[2]的值為1  ,然后兩者相加變為10000 0001 b
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品日韩在线观看 | 欧美黄色录像 | 欧美精品一区二区免费 | 成人国产精品久久久 | 日韩中文字幕一区 | 中国大陆高清aⅴ毛片 | 日韩国产免费观看 | 99久热 | 毛片99| 亚洲精品欧美一区二区三区 | 国产精品久久久久久久岛一牛影视 | 懂色一区二区三区免费观看 | 成人精品国产免费网站 | 精品视频在线免费观看 | 嫩呦国产一区二区三区av | 成人片免费看 | 噜啊噜在线 | 日韩在线播放av | 在线中文字幕av | 一级免费毛片 | 一区二区精品在线 | 国产精品久久久久久久久图文区 | 伊人免费在线 | 成人在线观看免费视频 | 国产一区二区三区亚洲 | 日韩欧美亚洲 | 男女精品网站 | 国产一区二区激情视频 | 成人伊人 | a免费视频 | aaa级片 | 免费看国产片在线观看 | 高清国产一区二区 | 国产激情91久久精品导航 | www日本在线播放 | 久久久999成人 | 国产精品久久久久久久久久久免费看 | 中文二区| 色婷婷精品国产一区二区三区 | 日韩国产一区二区三区 | 亚洲风情在线观看 |