日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

跟大家分享位運(yùn)算的幾個(gè)使用小技巧

冬至配餃子 ? 來(lái)源:最后一個(gè)bug ? 作者:bug菌 ? 2022-07-28 11:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

今天跟大家分享位運(yùn)算的幾個(gè)使用小技巧,這些巧妙操作都是要在項(xiàng)目開(kāi)發(fā)或者學(xué)習(xí)中不斷積累的,如果你在后續(xù)的編碼中用上的話(huà),不僅能夠提高代碼效率,還能為你的代碼增色不少。

1、替代乘除2

這一點(diǎn)應(yīng)該是基本操作了,我也在往期的文章中提到過(guò)多次。

poYBAGLh_p-AImFvAAA2W5GUlrE647.png

特別是常用定點(diǎn)MCU的朋友,相信一點(diǎn)更是有自己的領(lǐng)悟,即使所使用的MCU帶有硬件浮點(diǎn)運(yùn)算功能,采用整形定點(diǎn)運(yùn)算也經(jīng)常用來(lái)提高運(yùn)算速度。

2、異或交換兩數(shù)

也就是我們面試題中常提到的,不用第三個(gè)變量交換兩個(gè)數(shù):

pYYBAGLh_riAS7SuAAAifY87VMI082.png

3、判斷兩數(shù)是否同號(hào)

大部分朋友判斷兩個(gè)不為0的數(shù)是否同號(hào)都是采用兩數(shù)相乘是否>0來(lái)進(jìn)行判斷,當(dāng)然我也見(jiàn)過(guò)如下寫(xiě)法的:

pYYBAGLh_tGAIYCpAAAl5rOKOVI627.png

雖然兩種最終的結(jié)果,但總讓人覺(jué)得有點(diǎn)太初級(jí)、太累贅的感覺(jué),所以代碼還是要寫(xiě)得優(yōu)雅,才讓人覺(jué)得你有點(diǎn)東西。

如果你稍加處理借用異或運(yùn)算來(lái)進(jìn)行判斷,會(huì)給人眼前一亮的感覺(jué)。

poYBAGLh_uKAQV2tAAAO2YTQSA0647.png

然而更重要的是相對(duì)乘法運(yùn)算,其速度更快。

4、判斷奇偶數(shù)

判斷奇偶數(shù)無(wú)非就是識(shí)別該數(shù)是否能夠被2整除,通常我們采用如下表達(dá)式:

pYYBAGLh_vmAEkGqAAANv2fRzT8353.png

既然本文介紹位運(yùn)算,又存在某種位運(yùn)算會(huì)更加高效:

poYBAGLh_yWAEqzlAAARc6-maaI723.png

其無(wú)非就是利用了奇偶整形數(shù)的二進(jìn)制最后一位是否為1來(lái)進(jìn)行區(qū)分。

4、實(shí)現(xiàn)絕對(duì)值

實(shí)現(xiàn)絕對(duì)值還不簡(jiǎn)單?abs用起來(lái)。

如果要不用條件語(yǔ)句實(shí)現(xiàn)絕對(duì)值功能,你會(huì)如何實(shí)現(xiàn)呢?

以8位整形數(shù)為例說(shuō)明一下其實(shí)現(xiàn),其他字長(zhǎng)的整形類(lèi)似處理:

poYBAGLh_z2AIu5OAAAU1x_YFBQ428.png

這里也算是異或的應(yīng)用吧,異或操作"相同為0,相異為1",假如a是一個(gè)有符號(hào)正數(shù)整數(shù),a^0仍然為a,所以如上表達(dá)式對(duì)于整數(shù)仍然為原數(shù)。

而當(dāng)a是一個(gè)有符號(hào)負(fù)值整形數(shù),要實(shí)現(xiàn)abs功能,勢(shì)必要“對(duì)原數(shù)取反+1“,然而巧妙的是a^0xFF剛好是對(duì)a取反,-(a>>7)則剛好是+1。

屬實(shí)巧妙,不禁有點(diǎn)喜歡上了異或操作運(yùn)算。



審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    147

    文章

    19161

    瀏覽量

    404846
  • 位運(yùn)算
    +關(guān)注

    關(guān)注

    0

    文章

    17

    瀏覽量

    8677
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    SN系列4二進(jìn)制全加器:快速進(jìn)位的高效之選

    SN系列4二進(jìn)制全加器:快速進(jìn)位的高效之選 引言 在電子電路設(shè)計(jì)領(lǐng)域,加法器是實(shí)現(xiàn)算術(shù)運(yùn)算的基礎(chǔ)組件,其性能直接影響到整個(gè)系統(tǒng)的運(yùn)算速度和效率。TI的SN系列4二進(jìn)制全加器(SN5
    的頭像 發(fā)表于 04-23 13:05 ?157次閱讀

    74F583 4BCD加法器:高速運(yùn)算的理想之選

    74F583 4BCD加法器:高速運(yùn)算的理想之選 在電子設(shè)計(jì)領(lǐng)域,加法器是實(shí)現(xiàn)數(shù)字運(yùn)算的基礎(chǔ)組件。今天要給大家介紹的是Fairchild Semiconductor推出的74F583
    的頭像 發(fā)表于 04-10 16:40 ?169次閱讀

    74F182 進(jìn)位超前發(fā)生器:高速運(yùn)算的核心助力

    。 文件下載: 74F182PC.pdf 一、器件概述 74F182 是一款高速進(jìn)位超前發(fā)生器,通常與 74F181 或 74F381 4 算術(shù)邏輯單元(ALU)配合使用,能為超過(guò) 4 字長(zhǎng)的運(yùn)算提供高速超前進(jìn)位功能。這意味
    的頭像 發(fā)表于 04-10 14:15 ?169次閱讀

    74F181 4算術(shù)邏輯單元:高速運(yùn)算的得力助手

    74F181 4算術(shù)邏輯單元:高速運(yùn)算的得力助手 在電子設(shè)計(jì)領(lǐng)域,算術(shù)邏輯單元(ALU)是實(shí)現(xiàn)數(shù)據(jù)運(yùn)算和邏輯操作的核心組件。今天,我們來(lái)深入探討一下Fairchild Semiconductor
    的頭像 發(fā)表于 04-10 14:15 ?169次閱讀

    LT1468:高性能16精度運(yùn)算放大器的深度剖析

    LT1468:高性能16精度運(yùn)算放大器的深度剖析 在電子工程師的日常設(shè)計(jì)工作中,運(yùn)算放大器是不可或缺的基礎(chǔ)元件。今天,我們要深入探討的是Linear Technology公司的LT1468——一款
    的頭像 發(fā)表于 01-28 10:25 ?318次閱讀

    高速低失真運(yùn)算放大器MAX4432:技術(shù)特性與應(yīng)用指南

    高速低失真運(yùn)算放大器MAX4430 - MAX4433:技術(shù)特性與應(yīng)用指南 在電子設(shè)計(jì)領(lǐng)域,高速、高精度且低失真的運(yùn)算放大器一直是工程師們追求的目標(biāo)。今天要給大家介紹的MAX4430
    的頭像 發(fā)表于 01-27 15:40 ?326次閱讀

    什么是

    有些信息在存儲(chǔ)時(shí),并不需要占用一個(gè)完整的字節(jié), 而只需占幾個(gè)或一個(gè)二進(jìn)制。 例如在存放一個(gè)開(kāi)關(guān)量時(shí),只有0和1 兩種狀態(tài), 用一二進(jìn)位即可。為了節(jié)省存儲(chǔ)空間,并使處理簡(jiǎn)便,C語(yǔ)言又提供了一種
    發(fā)表于 12-15 08:07

    芯片AES硬件運(yùn)算單元好用嗎?

    我看好多芯片都支持AES硬件運(yùn)算單元,感覺(jué)用起來(lái)的卻沒(méi)有幾個(gè),不知道芯源這方面是不是和其他芯片的AES硬件一樣呢?我也想知道,這種硬件單元一般用在哪個(gè)場(chǎng)合比較多呢
    發(fā)表于 12-03 06:27

    單片機(jī)位數(shù)的思考(8、16、32

    8、16、32是指單片機(jī)的“字長(zhǎng)”,也就是一次運(yùn)算中參與運(yùn)算的數(shù)據(jù)長(zhǎng)度,這個(gè)位是指二進(jìn)制
    發(fā)表于 11-21 08:31

    定點(diǎn)數(shù)表示實(shí)數(shù)的方法以及定點(diǎn)數(shù)在硬件上的運(yùn)算驗(yàn)證

    本篇主要介紹定點(diǎn)數(shù)表示實(shí)數(shù)的方法以及定點(diǎn)數(shù)在硬件上的運(yùn)算驗(yàn)證 為什么選定點(diǎn)數(shù) 32單精度浮點(diǎn)數(shù): 32的單精度浮點(diǎn)數(shù)為例,IEE754標(biāo)準(zhǔn)規(guī)定,一個(gè)flaot類(lèi)型的浮點(diǎn)數(shù)X可以
    發(fā)表于 10-28 08:13

    卷積運(yùn)算分析

    卷積運(yùn)算的基礎(chǔ)運(yùn)算是乘加運(yùn)算(MAC,Multiplication and Accumulation),本文設(shè)計(jì)了基本運(yùn)算單元PE模塊來(lái)實(shí)現(xiàn)MAC運(yùn)
    發(fā)表于 10-28 07:31

    浮點(diǎn)數(shù)是如何實(shí)現(xiàn)開(kāi)平方運(yùn)算

    一些特殊處理。 浮點(diǎn)數(shù)開(kāi)平方運(yùn)算可以表達(dá)為以下公式: 這里的符號(hào)是邏輯零,這意味著平方根塊總是期望正浮點(diǎn)數(shù)。平方根運(yùn)算只在尾數(shù)部分進(jìn)行,這可以通過(guò)任意一種平方根算法來(lái)實(shí)現(xiàn)。指數(shù)部分除以2,也就是右移
    發(fā)表于 10-24 08:42

    浮點(diǎn)運(yùn)算單元的設(shè)計(jì)和優(yōu)化

    浮點(diǎn)運(yùn)算單元的設(shè)計(jì)和優(yōu)化可以從以下幾個(gè)方面入手: 1.浮點(diǎn)寄存器設(shè)計(jì):為了實(shí)現(xiàn)浮點(diǎn)運(yùn)算指令子集(RV32F或者RV32D),需要添加一組專(zhuān)用的浮點(diǎn)寄存器組,總共需要32個(gè)通用浮點(diǎn)寄存器。其中
    發(fā)表于 10-22 07:04

    risc-v中浮點(diǎn)運(yùn)算單元的使用及其設(shè)計(jì)考慮

    的應(yīng)用。 在RISC-V中,浮點(diǎn)運(yùn)算單元分為單精度浮點(diǎn)數(shù)(32)和雙精度浮點(diǎn)數(shù)(64),通常包括以下幾種基本功能: 加法器/減法器:用于執(zhí)行浮點(diǎn)數(shù)的加減運(yùn)算。 乘法器:用于執(zhí)行浮點(diǎn)
    發(fā)表于 10-21 14:46

    優(yōu)化boot4的乘法運(yùn)算周期

    可以在不同的時(shí)鐘周期內(nèi)完成,從而并行化運(yùn)算流程,提高乘法器的運(yùn)算性能。 采用多級(jí)壓縮:在Boot4乘法器中,使用了基于連乘算法的多級(jí)壓縮技術(shù)??梢酝ㄟ^(guò)增加多級(jí)壓縮,進(jìn)一步降低管理乘法器寬度的開(kāi)銷(xiāo),提升性能。 優(yōu)化算法:在尋找算
    發(fā)表于 10-21 13:17
    衡南县| 武陟县| 平江县| 手游| 兴海县| 莱西市| 遂昌县| 华宁县| 清苑县| 呼伦贝尔市| 安阳市| 衡阳县| 深水埗区| 长顺县| 扶余县| 江达县| 辽源市| 监利县| 奇台县| 江门市| 新绛县| 桂平市| 原平市| 龙海市| 吐鲁番市| 洮南市| 芜湖县| 东源县| 武乡县| 忻州市| 喀喇沁旗| 大丰市| 黎川县| 四川省| 自治县| 札达县| 清流县| 襄汾县| 田东县| 麻阳| 许昌市|