家字是什么结构| 7月1日是什么节日| 护资成绩什么时候出| 银黑了用什么可以洗白| 睡眠不好用什么药调理| 梁字五行属什么| 文献是什么| 身份证末尾x代表什么| 盛夏是什么意思| 什么时候闰五月| 肛周瘙痒用什么药| 白喉是什么病| 提刑官相当于现在什么官| 德国是什么民族| cpa是什么意思| 检查肝肾功能挂什么科| 肌张力高有什么表现| 胰岛素过高会导致什么| 拉肚子吃什么药好得快| 海鸥吃什么食物| 家里为什么会有蜘蛛| 道听途说什么意思| 什么样的笑容| 派出所传唤是什么意思| 碳酸盐质玉是什么玉| 打更的人叫什么| 皮肤容易过敏是什么原因| 山竹不能和什么水果一起吃| 县法院院长是什么级别| 淋巴结清扫是什么意思| 梦见别人笑什么意思| 取环后需要注意什么| 牛油果什么时候吃最好| 做宫颈筛查能查出什么| 想留不能留才最寂寞是什么歌| 甲状腺低密度结节是什么意思| 什么寒什么冻| 小孩老是咬手指甲是什么原因| 基层是什么意思| 顾名思义的顾什么意思| 作梁是什么意思| 签证和护照有什么区别| 子宫偏小是什么原因| 男朋友发烧该说些什么| mua是什么意思| 吃鱼油有什么好处| 体内湿气重用什么药| 增生性贫血是什么意思| rangerover是什么车| 尿是褐色的是什么原因| 绿豆汤放什么糖| 晕车是什么原因| 逸事是什么意思| 雅五行属什么| 夜里12点是什么时辰| lps医学上是什么意思| 被蛇咬了挂什么科| 看不上是什么意思| 530是什么意思| 肌肉萎缩什么症状| 什么时候验孕最准确| 人的价值是什么| 屈光检查是什么| 最近天气为什么这么热| 例假淋漓不尽是什么原因造成的| 尕尕是什么意思| 尿毒清颗粒主治什么病| 产后屁多是什么原因| 尿液泡沫多是什么原因| 官符是什么意思| 尿多什么原因| 鬼压床是什么原因| 西瓜又什么又什么填空| 促进钙吸收吃什么| dn是什么意思| 250什么意思| 晕车喝什么| cindy英文名什么意思| 出道是什么意思| 摸摸头是什么意思| 三十六计第一计是什么| 梦见猪肉是什么意思| 昙花什么时候开花| 牵牛花是什么颜色的| 排骨炒什么配菜好吃| 胃胀胃不舒服吃什么药| 感冒吃什么食物好| 吃什么补气养血最快| 阑尾炎能吃什么| 破窗效应是什么意思| 夏天用什么泡脚最好| 荔枝可以做什么| 焦虑是什么意思| 7.14号是什么节日| 胳膊肘往外拐是什么意思| 贤惠是什么意思| 梦到熊是什么意思| 乙肝135阳性是什么意思| 手足口病是什么原因引起的| 嘴唇发乌是什么原因| 省委副书记什么级别| 是什么意思| 天生一对成伴侣是什么生肖| 为什么会血脂高| 钧什么意思| 灵芝煮水喝有什么功效| 婴儿流口水是什么原因引起的| 什么止咳最好| 主动脉瓣退行性变是什么意思| 猫弓背什么意思| 十二月四号是什么星座| jm是什么| 检查血常规挂什么科| 胃溃疡吃什么药好得快| 花团锦簇什么意思| 狮子头是什么肉| 什么情况下要割包皮| 剖腹产后可以吃什么食物| 大礼是什么意思| 吃什么降胆固醇最快| 中央候补委员什么级别| 罪恶感什么意思| 男人跑马是什么原因| 睾丸隐痛什么原因| 洛阳有什么好玩的| 三高挂号挂什么科| 肾的主要功能是什么| 逝者如斯夫什么意思| 钢琴十级什么水平| 大学硕士点是什么意思| 什么| 为什么二楼比三楼好| 鼻子下面长痘痘是什么原因引起的| 月经期喝什么水最好| 张柏芝和谢霆锋为什么离婚| 上梁是什么意思| 树菠萝什么时候成熟| 干湿分离什么意思| 口坐读什么| 心内科是看什么病的| 3月16是什么星座| 脑白质病变是什么病| 男人更年期在什么年龄| 维生素b6是什么| 猫咪吐黄水有泡沫没有精神吃什么药| puma是什么品牌| 什么水| 为什么会甲亢| 乳清粉是什么东西| 阴道痒用什么药| 什么时候入梅| 大便颗粒状是什么原因| 脚踝韧带拉伤吃什么| 拉屎有泡沫是什么原因| 减肥期间可以吃什么零食| 刻舟求剑是什么生肖| 青红皂白的皂是什么颜色| 繁花似锦什么意思| 做梦梦见马是什么意思| 母亲吃什么退婴儿黄疸| 淋巴结是什么引起的| 危机四伏是什么生肖| 非你莫属是什么意思| 怀孕能吃什么水果| 情未了什么意思| 为什么四川总地震| 肝损害是什么意思| 明月照沟渠是什么意思| 牛虻是什么| 女人骨质疏松吃什么最好| sma是什么病| 失去理智什么意思| 轭是什么意思| 益安宁丸主治什么病| 玫瑰花和什么一起泡水喝好| 安全感是什么| 生蒜头吃了有什么好处和坏处| 发烧适合吃什么水果| 什么中生什么| 什么是什么的家| 宫颈纳囊是什么| 胳膊麻是什么原因| 中秋节干什么| 喝酒前吃什么不容易醉| 柯字五行属什么| 白喉采取什么隔离| 荷叶搭配什么一起喝减肥效果好| l代表什么| 干贝是什么东西做的| 按人中有什么作用| 苹果5s什么时候上市的| 城是什么生肖| 为什么空调不制冷| 什么是应届毕业生| 压床娃娃有什么讲究吗| 肾不好吃什么好| 止痛片吃多了有什么副作用| 庞统为什么叫凤雏| 下午7点是什么时辰| 孕囊是什么东西| 包皮与包茎有什么区别| 酥油是什么油| 小孩子经常流鼻血是什么原因| 1964年属什么的| 流年是什么| 嗑药是什么意思| 养血清脑颗粒治什么病| 打完耳洞不能吃什么| 中度贫血是什么原因造成的| 偷鸡不成蚀把米是什么意思| 区块链技术是什么| 双向转诊是什么意思| 离子四项是检查什么的| 宝宝睡觉突然大哭是什么原因| 腿弯疼是什么原因| 五步蛇又叫什么蛇| 8月是什么月| 老年痴呆症是什么原因引起的| 在家做什么小生意| 冲凉是什么意思| 什么是痛风| 什么的微风填空| 为什么叫基围虾| 混社会的人一般干什么| 吉祥如意是什么意思| 睡觉梦到蛇是什么意思| 女性分泌物少是什么原因| 嘴苦是什么原因造成的| 婴儿放屁臭是什么原因| 聪明如你什么意思| 11度穿什么衣服| 幽门螺旋杆菌阳性是什么意思| 乳腺囊肿和乳腺结节有什么区别| 腿抖是什么病的预兆| 月亮是什么生肖| mb是什么意思| 中度肠化是什么意思| 梦到开车是什么意思| insun是什么牌子| 查幽门螺杆菌挂什么科| 投递是什么意思| 乏了是什么意思| 断头路是什么意思| 肚脐眼下面痛什么原因| 牙齿痛吃什么消炎药| 狼吞虎咽是什么意思| 什么食物对心脏好| 企业性质指的是什么| 绀是什么意思| x是什么牌子的衣服| 小孩眨眼睛是什么原因| 双引号是什么意思| 攀缘是什么意思| 太监和宫女对食是什么意思| 晚上睡觉经常醒是什么原因| 阴囊湿疹用什么药膏效果最好| 看见蛇有什么预兆| 小儿发烧吃什么食物好| 1963年五行属什么| 尿隐血十一是什么意思| 宫颈息肉吃什么药能消| 血脂高适合吃什么食物| 迎合是什么意思| 胃癌是什么原因引起的| 百度Hoppa till inneh?llet

广西食品药品监督管理局--广西频道--人民网

Fr?n Wikipedia
百度 阿米努再中三分,哈登内线砍分,哈克里斯再中三分反超比分,并且还血帽哈登。

Inom digital datorprogrammering opererar en bitvis operation p? ett eller flera bitm?nster eller bin?ra tal p? bitniv?. Det ?r snabba primitiva operationer som st?ds direkt av processorn och anv?nds f?r att manipulera v?rden f?r j?mf?relser och ber?kningar.[1]

P? enkla l?gkostnadsprocessorer ?r bitvisa operationer markant snabbare ?n division, flera g?nger snabbare ?n multiplikation och ibland m?rkbart snabbare ?n addition. Medan moderna processorer vanligen adderar och multiplicerar lika snabbt som de utf?r bitvisa operationer p? grund av sina l?ngre pipelines och andra arkitekturer anv?nder bitvisa operationer ofta mindre kraft p? grund av ett reducerat anv?ndande av resurser.

Bitvisa operatorer

[redigera | redigera wikitext]

I f?rklaringarna nedan r?knas bitarnas position fr?n h?ger (den minst signifikanta sidan) till v?nster. Det bin?ra v?rdet 0001 (decimalt 1) har nollor p? alla positioner utom den f?rsta.

det bitvisa NOT, eller komplementet, ?r en un?r operator som utf?r logisk negation p? varje bit och bildar ettkomplementet till det givna bin?ra v?rdet. Bitar som ?r 0 blir 1 och vice versa. Till exempel:

NOT 0111  (decimalt 7)
  = 1000  (decimalt 8)

F?r osignerade heltal ?r det bitvisa komplementet (ettkomplementet) till ett tal "spegelbilden" av talet ?ver det osignerade heltalets vidd. Till exempel s? ?r NOT x = 255 - x f?r osignerade 8-bitars heltal, vilket kan ses som att v?nda om en ?kande f?ljd fr?n 0 till 255 till en minskande fr?n 255 till 0. Ett enkelt, men illustrativt, exempel ?r att ?ndra en positiv gr?skalebild till en negativ.

Det bitvisa (ett)komplementet ?r lika med v?rdets tv?komplement minus ett. Om tv?komplementets aritmetik anv?nds s? ?r

NOT x = ?x ? 1.

Det bitvisa AND tar tv? bin?ra str?ngar av samma l?ngd och genomf?r en logisk AND-operation p? varje par av motsvarande bitar genom att multiplicera dem. S?, om b?da bitarna har v?rdet 1, blir resultatet 1 (1 × 1 = 1), annars 0 (1 × 0 = 0). Till exempel

    0101 (decimalt 5)
AND 0011 (decimalt 3)
  = 0001 (decimalt 1)

Operationen kan anv?ndas f?r att avg?ra om en viss bit ?r satt (1) eller ej (0). Till exempel: F?r att avg?ra om den andra biten i 0011 (decimalt 3) ?r satt anv?nder vi ett bitvist AND med ett tal som bara inneh?ller en etta i andra biten:

    0011 (decimalt 3)
AND 0010 (decimalt 2)
  = 0010 (decimalt 2)

Eftersom resultatet 0010 inte ?r noll vet vi att den andra biten i 0011 ?r satt. Detta kallas ofta "bitmaskning". (En analogi ?r maskeringstejp som t?cker (maskerar) de bitar som inte skall ?ndras eller delar som ?r ointressanta. I detta fallet maskerar 0 de bitar vi inte ?r intresserade av.)

Om vi lagrar resultatet kan det anv?ndas f?r att nollst?lla valda bitar i ett register. Om vi exempelvis har 0110 (decimalt 6) kan vi nollst?lla den andra biten genom att anv?nda ett bitvist AND med ett m?nster som har en nolla bara i den andra biten:

    0110 (decimalt 6)
AND 1101 (decimalt 13)
  = 0100 (decimalt 4)

P? grund av denna egenskap ?r det l?tt att kontrollera ett bin?rt tals paritet genom att testa v?rdet hos den minst signifikanta biten. Till exempel:

    0110 (decimalt 6)
AND 0001 (decimalt 1)
  = 0000 (decimalt 0)

Allts? ?r 0110 (6) j?mnt delbart med 2 och allts? j?mnt.

Ett bitvist OR tar tv? bin?ra str?ngar av samma l?ngd och utf?r en logisk OR-operation p? varje par av motsvarande bitar. Resultatet f?r varje position ?r 0 om samma bit i de b?da talen ?r 0, annars 1. Till exempel:

   0101 (decimalt 5)
OR 0011 (decimalt 3)
 = 0111 (decimalt 7)

Ett bitvist OR kan anv?ndas f?r att s?tta de valda bitarna till v?rdet 1. Till exempel kan det anv?ndas f?r att s?tta en specifik bit (eller flagga) i ett register, d?r varje bit representerar ett individuellt booleskt v?rde i ett register. S? kan 0010 (decimalt 2) betraktas som en upps?ttning p? fyra flaggor, d?r bara den andra ?r satt. F?r att s?tta den fj?rde flaggan utan att r?ra de andra g?r vi en bitvis OR med 1000 (decimalt 8):

   0010 (decimalt 2)
OR 1000 (decimalt 8)
 = 1010 (decimalt 10)

Den h?r tekniken ?r ett effektivt s?tt att lagra ett antal booleska v?rden i s? lite minne som m?jligt.

Exklusivt eller (XOR)

[redigera | redigera wikitext]

Ett bitvist XOR tar tv? bin?ra str?ngar av samma l?ngd och utf?r en logisk XOR-operation p? varje par av motsvarande bitar. Resultatet blir 1 om den ena biten ?r 1 och den andra 0, men 0 om b?da bitarna ?r lika. Till exempel:

    0101 (decimalt 5)
XOR 0011 (decimalt 3)
  = 0110 (decimalt 6)

Bitvist XOR kan anv?ndas f?r att invertera ("sl? om", som om de vore str?mbrytare) valda bitar i ett register, genom att utf?ra en bitvis XOR med en str?ng inneh?llande 1 p? de positioner man vill invertera. Till exempel om man har 0010 (decimalt 2) kan man sl? om positionerna tv? och fyra genom en XOR med 1010:

    0010 (decimalt 2)
XOR 1010 (decimalt 10)
  = 1000 (decimalt 8)

Den h?r tekninken kan anv?ndas f?r att manipulera bitm?nster som representerar booleska tillst?nd.

Assemblerprogrammerare anv?nder ibland XOR som en genv?g f?r att s?tta v?rdet p? ett register till noll, eftersom detta resultat blir f?ljden om man genomf?r en XOR p? ett tal med sig sj?lv, a XOR a = 0. M?nga processorer ?r byggda s? att XOR anv?nder f?rre klockcykler eller mindre minne ?n att ladda v?rdet noll och spara det till registret.

Matematiska ekvivalenser

[redigera | redigera wikitext]

Om x > y f?r icke-negativa heltal, kan de bitvisa operationerna skrivas som:

D?r ?r antalet bitar i f?r alla .

Atom?ra booleska funktioner

[redigera | redigera wikitext]

Inom satslogiken anv?nds 3 och 5 (bin?rt 0011 och 0101) som ing?ngsv?rden, eftersom de motsvarar de m?jliga sanningsv?rdena hos tv? atom?ra satser som skall f?rbindas med konnektiv. Exempel 0101 AND 0011 = 0001 s?ger att uttrycket ?r sant bara n?r motsvarande bit i de b?da talen ?r 1 (d.v.s. n?r b?da satserna ?r sanna). F?r tre satser anv?nder man 15, 51 och 85 (00001111, 00110011 och 01010101). Dessa tal ?terfinns i taltriangeln OEISA211344:

           1                                  01
        3     5                       0011          0101
    15    51     85          00001111      00110011      01010101

Bitvis skiftning

[redigera | redigera wikitext]

Bitskifte betraktas ibland som en bitvis operation, eftersom det behandlar ett v?rde som en serie bitar snarare ?n en numerisk storhet. Vid dessa operationer flyttas bitarna (skiftas) ?t h?ger eller v?nster. Registerna i en datorprocessor har en fast bredd, s? vissa bitar kommer att "skiftas ut" fr?n registrets ena ?nde, medan samma antal bitar "skiftas in" i den andra. Skillnaden mellan olika skiftoperatorer ligger i vad som skiftas in.

Aritmetiskt skift

[redigera | redigera wikitext]
Aritmetiskt v?nsterskift
Aritmetiskt h?gerskift

Vid ett aritmetiskt skift tas bitarna som skiftas ut bort. Vid ett aritmetiskt v?nsterskift fyller man p? med nollor i h?ger?nden, vid ett aritmetiskt h?gerskift fyller man p? med teckenbiten i v?nster?nden, s? att operandens tecken bevaras.

Exemplet nedan anv?nder ett ?ttabitarsregister:

   00010111 (decimalt +23) V?NSTERSKIFT
=  00101110 (decimalt +46)
   10010111 (decimalt ?105) H?GERSKIFT
=  11001011 (decimalt ?53)

I f?rsta fallet skiftades siffran l?ngst till v?nster ut och en nolla skiftades in l?ngst till h?ger. I andra fallet skiftades ettan l?ngst till h?ger ut (kanske in i carry-flaggan) och en ny etta kopierades in till h?ger s? att tecknet bevarades. Multipla skift f?rkortas ibland till en operation med angivande av antal steg. Till exempel:

   00010111 (decimalt +23) V?NSTERSKIFT-MED-TV?
=  01011100 (decimalt +92)

Ett aritmetiskt v?nsterskift med n steg ?r detsamma som att multiplicera med 2n (f?rutsatt att overflow ej intr?ffar), medan ett aritmetiskt h?gerskift med n steg ?r detsamma som att dividera med 2n och runda av mot noll.

Logiskt skift

[redigera | redigera wikitext]
Logiskt v?nsterskift
Logiskt h?gerskift

Vid ett logiskt skift skiftas nollor alltid in. Ett logiskt v?nsterskift ?r s?lunda detsamma som ett aritmetiskt.

Ett logiskt h?gerskift s?tter d?remot in nollor i v?nster?nden i st?llet f?r teckenbiten (som ju kan vara noll), ?r det b?st f?r osignerade heltal, medan det aritmetiska ?r b?st f?r signerade tv?komplement?ra bin?rtal.

Rotation utan carry

[redigera | redigera wikitext]
V?nsterrotation
H?gerrotation

En annan typ av skift ?r cirkul?rt skift eller bitrotation. Vid denna operation "roteras" bitarna som om registrets b?da ?ndar var f?renade. Det v?rde som skiftas in till h?ger ?r det v?rde som skiftades ut till v?nster, och vice versa. Den h?r operationen ?r anv?ndbar om det ?r viktigt att beh?lla alla bitarna och anv?nds ofta inom digital kryptografi.

Rotation med carry

[redigera | redigera wikitext]
V?nsterrotation med carry
H?gerrotation med carry

Rotation med carry liknar rotation utan carry, med den skillnaden att registrets b?da ?ndar skiljs ?t av carry-flaggan. Den bit som skiftas in ?r carry-flaggans v?rde f?re rotationen och den bit som skiftas ut blir carry-flaggans nya v?rde.

Ett enkelt rotera med carry kan simulera ett logiskt eller aritmetiskt skift om man s?tter carryflaggan i f?rv?g. Om man s?tter carry-flaggan till noll s? ?r en h?gerrotation med carry detsamma som ett logiskt h?gerskift, medan om man i st?llet s?tter carry-flaggan lika med teckenbiten s? f?r man ett aritmetiskt h?gerskift. Av denna anledning har vissa mikrokontroller s?som PIC bara rotera och rotera med carry och inga speciella aritmetiska eller logiska skiftoperatorer.

Rotera med carry ?r speciellt anv?ndbart n?r man skall skifta tal som ?r st?rre ?n processorns ordl?ngd, eftersom om ett tal lagras i flera ord s? m?ste den utskiftade biten i det ena ordet skiftas in i det andra. Genom att biten sparas i carry-flaggan ?r den direkt redo att skiftas in i n?sta ord.

Externa l?nkar

[redigera | redigera wikitext]
Den h?r artikeln ?r helt eller delvis baserad p? material fr?n engelskspr?kiga Wikipedia.
  1. ^ Michael Baczynski, 2007, Bitwise gems – fast integer math Arkiverad 31 oktober 2014 h?mtat fr?n the Wayback Machine.
喜欢吃酸的人是什么体质 网球肘吃什么药 为什么一躺下就鼻塞 感情是什么 一什么马
猫弓背什么意思 甘露醇治什么病 鼻塞吃什么药 空调出现pl是什么意思 有点想吐是什么原因
猪八戒的真名叫什么 alp医学上是什么意思 肚子右边是什么部位 夏五行属什么 手脚不协调是什么原因
宝宝湿疹用什么药膏 减肥为什么不让吃茄子 1997年是什么生肖 清谷天指的是什么 59岁属什么生肖
乌鸡卷是什么肉做的gangsutong.com 梦见自己尿裤子了是什么意思naasee.com 打激素有什么副作用hcv7jop9ns5r.cn 人绒毛膜促性腺激素是什么beikeqingting.com 狮子被称为什么hcv7jop9ns2r.cn
桃李满天下是什么生肖hcv8jop9ns2r.cn 身份证号码最后一位代表什么luyiluode.com 龙蛇混杂是什么意思hcv9jop4ns5r.cn 湿疹用什么药好得最快最有效hcv7jop6ns2r.cn 胆囊息肉有什么症状0735v.com
承五行属性是什么hcv9jop0ns9r.cn 越南人说什么语言hcv8jop1ns4r.cn 伤情鉴定需要什么材料hcv9jop6ns2r.cn 性有什么好处和坏处hcv9jop2ns9r.cn 舌头上有齿痕是什么原因hcv9jop3ns5r.cn
湿疹用什么药膏hcv9jop6ns5r.cn 什么的面目hcv9jop4ns1r.cn 耳聋是什么原因引起的shenchushe.com 来大姨妈能喝什么饮料hcv8jop3ns2r.cn 房室传导阻滞是什么意思hcv9jop7ns3r.cn
百度