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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3483|回復: 4
打印 上一主題 下一主題
收起左側

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

[復制鏈接]
跳轉到指定樓層
樓主
ID:374198 發表于 2019-8-5 17:39 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
請教一下,YPR[0]=(BUF[1]<<8|BUF[2]); 這句話在c語言里怎樣理解》???
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
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]
回復

使用道具 舉報

5#
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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲欧美在线观看视频 | 99精品国产成人一区二区 | 国产日韩电影 | av手机免费在线观看 | 欧美精品综合在线 | av在线播放网址 | 国产91在线观看 | 91av在线不卡 | 日韩国产中文字幕 | 国产中文视频 | 一级一片在线观看 | 亚洲在线免费观看 | 一区二区三区四区av | 亚洲精品国产成人 | 亚洲精品成人网 | 久操av在线 | 在线成人免费视频 | 国产午夜精品久久 | 在线播放一区二区三区 | 91大神在线资源观看无广告 | 男女视频在线观看网站 | 99久9 | 日韩精品二区 | 日韩一区二区精品 | 国产三级精品三级在线观看四季网 | 成人免费一区二区三区视频网站 | 午夜男人免费视频 | 精品国产一区二区三区日日嗨 | 日本在线看片 | 成人av大全 | 粉嫩国产精品一区二区在线观看 | 成人动漫视频网站 | 91直接看| 久久婷婷国产麻豆91 | www.国产精| 亚洲视频在线观看 | av网站在线看 | h视频在线播放 | 毛片免费观看视频 | 伊人爽| 日本天堂一区二区 |